Consumer booking availability engine

ABSTRACT

A method, apparatus, and computer program product are disclosed for receiving redemption selections from a consumer and scheduling redemption of a promotion. The method includes presenting one or more promotions for products or services offered by a merchant, and receiving an indication of a selection, by a consumer, of a promotion from the one or more promotions. The method further includes presenting one or more time slots based on predicted booking limits of a set of time slots including the one or more time slots, receiving a selection of a time slot from the one or more time slots, determining merchant time slot availability for the selected time slot, and scheduling a time slot for redeeming the promotion based on the determined merchant time slot availability. A corresponding apparatus and computer program product are also provided.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.14/316,994, filed Jun. 27, 2014, entitled “Consumer Booking AvailabilityEngine,” which claims the benefit of U.S. Provisional Patent Application61/840,867, filed Jun. 28, 2013, each of which are incorporated hereinby reference in their entirety.

TECHNOLOGICAL FIELD

Example embodiments of the present invention relate generally topromotion management and, more particularly, to a method and apparatusfor determining an estimated availability of a merchant at a given time.

BACKGROUND

Applicant has discovered problems with existing methods and systems forpromotion management. Through applied effort, ingenuity, and innovation,Applicant has solved many of these identified problems by developing asolution that is embodied by the present invention and described indetail below.

BRIEF SUMMARY

Accordingly, a method, apparatus, and computer program product areprovided for improving the booking of time slots for redeemingpromotions.

In a first example embodiment, a method is provided. The method includespresenting, by a consumer interface, one or more promotions for productsor services offered by a merchant, receiving an indication of aselection, by a consumer, of a promotion from the one or morepromotions, and presenting, by the consumer interface, one or more timeslots based on predicted booking limits of a set of time slots includingthe one or more time slots, wherein each time slot indicates a period oftime during which the promotion may be scheduled for redemption. Themethod further includes receiving a selection of a time slot from theone or more time slots, determining, by a processor, merchant time slotavailability for the selected time slot, and scheduling a time slot forredeeming the promotion based on the determined merchant time slotavailability.

In some embodiments of the method, the method further includescalculating the predicted booking limits of the set of time slots by,for each time slot, calculating a hidden demand, determining an optimalbooking limit for the time slot based on the calculated hidden demand,setting a value of the predicted booking limit to the value of theoptimal booking limit, and storing the predicted booking limit. In onesuch embodiment, for each time slot, determining the optimal bookinglimit is further based on a booking capacity of the time slot.

In other embodiments of the method, presenting the one or more timeslots based on predicted booking limits of the set of time slotsincluding the one or more time slots comprises determining, for eachtime slot of the set of time slots, whether the predicted booking limitof the time slot is equal to or greater than a current number ofbookings for the time slot, wherein the one or more time slots presentedcomprise those of the set of time slots for which the predicted bookinglimit is less than the current number of bookings.

In another embodiment of the method, presenting the one or more timeslots to the consumer is further based on a membership status of theconsumer. In this regard, presenting the one or more time slots mayinclude presenting additional time slots in an instance in which theconsumer is identified a preferred member.

In some embodiments of the method, the one or more time slots includepreferred time slots. In one such embodiment, the preferred time slotsare chosen based on preferences of the merchant or a promotion andmarketing service.

In other embodiments of the method, determining merchant time slotavailability for the selected time slot includes presenting, to themerchant offering the promotion, the selected time slot, and receiving,from the merchant, an indication of whether the time slot is available.

In yet other embodiments, the method includes issuing, to the consumer,a voucher for redeeming the promotion at the scheduled time slot. In onesuch embodiment, the method further includes charging the consumer forthe promotion in response to issuing the voucher.

In another embodiment, the method includes, in an instance in which theselected time slot is not available, repeating the steps of presentingone or more time slots, receiving a selection of a time slot, anddetermining merchant time slot availability until a selected time slotis available.

In another example embodiment, an apparatus is provided. The apparatusincludes a processor and a memory, the memory storing computer programcode that, when executed by the processor, causes the apparatus topresent, by a consumer interface, one or more promotions for products orservices offered by a merchant, receive an indication of a selection, bya consumer, of a promotion from the one or more promotions, and present,by the consumer interface, one or more time slots based on predictedbooking limits of a set of time slots including the one or more timeslots, wherein each time slot indicates a period of time during whichthe promotion may be scheduled for redemption. The computer programcode, when executed by the processor, further causes the apparatus toreceive a selection of a time slot from the one or more time slots,determine merchant time slot availability for the selected time slot,and schedule a time slot for redeeming the promotion based on thedetermined merchant time slot availability.

In some embodiments of the apparatus, the computer program code, whenexecuted by the processor, further causes the apparatus to calculate thepredicted booking limits of the set of time slots by, for each timeslot, calculating a hidden demand, determining an optimal booking limitfor the time slot based on the calculated hidden demand, setting a valueof the predicted booking limit to the value of the optimal bookinglimit, and storing the predicted booking limit. In one such embodiment,for each time slot, determining the optimal booking limit is furtherbased on a booking capacity of the time slot.

In other embodiments of the apparatus, presenting the one or more timeslots based on predicted booking limits of the set of time slotsincluding the one or more time slots includes determining, for each timeslot of the set of time slots, whether the predicted booking limit ofthe time slot is equal to or greater than a current number of bookingsfor the time slot, wherein the one or more time slots presented comprisethose of the set of time slots for which the predicted booking limit isless than the current number of bookings.

In yet other embodiments of the apparatus, presenting the one or moretime slots to the consumer is further based on a membership status ofthe consumer. In one such embodiment, presenting the one or more timeslots includes presenting additional time slots in an instance in whichthe consumer is identified a preferred member.

In another embodiment of the apparatus, the one or more time slotsinclude preferred time slots. In one such embodiment, the preferred timeslots are chosen based on preferences of the merchant or a promotion andmarketing service.

In another embodiment of the apparatus, determining merchant time slotavailability for the selected time slot includes presenting, to themerchant offering the promotion, the selected time slot, and receiving,from the merchant, an indication of whether the time slot is available.

In other embodiments of the apparatus, the computer program code, whenexecuted by the processor, further causes the apparatus to issue, to theconsumer, a voucher for redeeming the promotion at the scheduled timeslot. In one such embodiment, the computer program code, when executedby the processor, further causes the apparatus to charge the consumerfor the promotion in response to issuing the voucher.

In another embodiment of the apparatus, the computer program code, whenexecuted by the processor, further causes the apparatus to, in aninstance in which the selected time slot is not available, repeat thesteps of presenting one or more time slots, receiving a selection of atime slot, and determining merchant time slot availability until aselected time slot is available.

In another example embodiment, a computer program product is provided.The computer program product comprising a non-transitorycomputer-readable storage medium storing computer program code that,when executed by an apparatus, causes the apparatus to present, by aconsumer interface, one or more promotions for products or servicesoffered by a merchant, receive an indication of a selection, by aconsumer, of a promotion from the one or more promotions, and present,by the consumer interface, one or more time slots based on predictedbooking limits of a set of time slots including the one or more timeslots, wherein each time slot indicates a period of time during whichthe promotion may be scheduled for redemption. The computer programcode, when executed by the apparatus, further causes the apparatus toreceive a selection of a time slot from the one or more time slots,determine merchant time slot availability for the selected time slot,and schedule a time slot for redeeming the promotion based on thedetermined merchant time slot availability.

In some embodiments of the computer program product, the computerprogram code, when executed by the apparatus, further causes theapparatus to calculate the predicted booking limits of the set of timeslots by, for each time slot, calculating a hidden demand, determiningan optimal booking limit for the time slot based on the calculatedhidden demand, setting a value of the predicted booking limit to thevalue of the optimal booking limit, and storing the predicted bookinglimit. In one such embodiment, for each time slot, determining theoptimal booking limit is further based on a booking capacity of the timeslot.

In other embodiments of the computer program product, presenting the oneor more time slots based on predicted booking limits of the set of timeslots including the one or more time slots includes determining, foreach time slot of the set of time slots, whether the predicted bookinglimit of the time slot is equal to or greater than a current number ofbookings for the time slot, wherein the one or more time slots presentedcomprise those of the set of time slots for which the predicted bookinglimit is less than the current number of bookings.

In yet other embodiments, presenting the one or more time slots to theconsumer is further based on a membership status of the consumer. In onesuch embodiment, presenting the one or more time slots includespresenting additional time slots in an instance in which the consumer isidentified a preferred member.

In other embodiments of the computer program product, the one or moretime slots include preferred time slots. In one such embodiment, thepreferred time slots are chosen based on preferences of the merchant ora promotion and marketing service.

In another embodiment of the computer program product, determiningmerchant time slot availability for the selected time slot includespresenting, to the merchant offering the promotion, the selected timeslot, and receiving, from the merchant, an indication of whether thetime slot is available.

In yet other embodiments of the computer program product, the computerprogram code, when executed by the apparatus, further causes theapparatus to issue, to the consumer, a voucher for redeeming thepromotion at the scheduled time slot. In one such embodiment, thecomputer program code, when executed by the apparatus, further causesthe apparatus to charge the consumer for the promotion in response toissuing the voucher.

In another embodiment of the computer program product, the computerprogram code, when executed by the apparatus, further causes theapparatus to, in an instance in which the selected time slot is notavailable, repeat the steps of presenting one or more time slots,receiving a selection of a time slot, and determining merchant time slotavailability until a selected time slot is available.

In another example embodiment, a method is provided. The method includespresenting, by a consumer interface, one or more promotions for productsor services offered by a merchant, receiving an indication of aselection, by a consumer, of a promotion from the one or morepromotions, and presenting, by the consumer interface, a plurality oftime slots, wherein each time slot indicates a period of time duringwhich the promotion may be scheduled for redemption. The method furtherincludes receiving a selection of multiple time slots from the pluralityof time slots, determining, by a processor, merchant time slotavailability for the selected time slots, and scheduling a time slot forredeeming the promotion based on the determined merchant time slotavailability.

In some embodiments of the method, presenting the plurality of timeslots is based on predicted booking limits of a set of time slotsincluding the plurality of time slots. In one such embodiment, themethod further includes calculating the predicted booking limits of theset of time slots by, for each time slot, calculating a hidden demand,determining an optimal booking limit for the time slot based on thecalculated hidden demand, setting a value of the predicted booking limitto the value of the optimal booking limit, and storing the predictedbooking limit. In this regard, for each time slot, determining theoptimal booking limit may be further based on a booking capacity of thetime slot. In another such embodiment, presenting the plurality of timeslots based on predicted booking limits of the set of time slotsincludes determining, for each time slot of the set of time slots,whether the predicted booking limit of the time slot is equal to orgreater than a current number of bookings for the time slot, wherein theplurality of time slots presented comprise those of the set of timeslots for which the predicted booking limit is less than the currentnumber of bookings.

In other embodiments of the method, presenting the plurality of timeslots to the consumer is further based on a membership status of theconsumer. In one such embodiment, presenting the plurality of time slotsincludes presenting additional time slots in an instance in which theconsumer is identified as a preferred member.

In yet other embodiments of the method, the plurality of time slotsincludes preferred time slots. In one such embodiment, the preferredtime slots are chosen based on preferences of the merchant or apromotion and marketing service.

In other embodiments of the method, determining merchant time slotavailability for the selected time slots includes presenting, to themerchant offering the promotion, each selected time slot, and receiving,from the merchant, an indication of whether the time slot is available.

In another embodiment, the method further includes receiving, from theconsumer, a rank-ordering of the selected time slots, whereindetermining merchant time slot availability comprises iterativelyanalyzing the selected time slots, starting from a highest rankedselected time slot and proceeding in rank order until an indication ofavailability is received from the merchant, by presenting, to themerchant offering the promotion, a selected time slot, and receiving,from the merchant, an indication of availability for the selected timeslot, and wherein the time slot for redeeming the promotion comprisesthe selected time slot for which the indication of availability isreceived from the merchant.

In yet other embodiments, the method further includes issuing, to theconsumer, a voucher for redeeming the promotion at the scheduled timeslot. In one such embodiment, the method further includes charging theconsumer for the promotion in response to issuing the voucher.

In other embodiments, the method further includes, in an instance inwhich the selected time slots are not available, repeating the steps ofpresenting the plurality of time slots, receiving a selection ofmultiple time slots, and determining merchant time slot availabilityuntil at least one selected time slot is available.

In another example embodiment, an apparatus is provided. The apparatusincludes a processor and a memory, the memory storing computer programcode that, when executed by the processor, causes the apparatus topresent, by a consumer interface, one or more promotions for products orservices offered by a merchant, receive an indication of a selection, bya consumer, of a promotion from the one or more promotions, and present,by the consumer interface, a plurality of time slots, wherein each timeslot indicates a period of time during which the promotion may bescheduled for redemption. The computer program code, when executed bythe processor, further causes the apparatus to receive a selection ofmultiple time slots from the plurality of time slots, determine merchanttime slot availability for the selected time slots, and schedule a timeslot for redeeming the promotion based on the determined merchant timeslot availability.

In some embodiments of the apparatus, presenting the plurality of timeslots is based on predicted booking limits of a set of time slotsincluding the plurality of time slots. In one such embodiment, themethod further includes calculating the predicted booking limits of theset of time slots by, for each time slot, calculating a hidden demand,determining an optimal booking limit for the time slot based on thecalculated hidden demand, setting a value of the predicted booking limitto the value of the optimal booking limit, and storing the predictedbooking limit. In this regard, for each time slot, determining theoptimal booking limit may be further based on a booking capacity of thetime slot. In another such embodiment, presenting the plurality of timeslots based on predicted booking limits of the set of time slotsincludes determining, for each time slot of the set of time slots,whether the predicted booking limit of the time slot is equal to orgreater than a current number of bookings for the time slot, wherein theplurality of time slots presented comprise those of the set of timeslots for which the predicted booking limit is less than the currentnumber of bookings.

In other embodiments of the apparatus, presenting the plurality of timeslots to the consumer is further based on a membership status of theconsumer. In one such embodiment, presenting the plurality of time slotsincludes presenting additional time slots in an instance in which theconsumer is identified as a preferred member.

In yet other embodiments of the apparatus, the plurality of time slotsincludes preferred time slots. In one such embodiment, the preferredtime slots are chosen based on preferences of the merchant or apromotion and marketing service.

In other embodiments of the apparatus, determining merchant time slotavailability for the selected time slots includes presenting, to themerchant offering the promotion, each selected time slot, and receiving,from the merchant, an indication of whether the time slot is available.

In another embodiment of the apparatus, the computer program code, whenexecuted by the processor, further causes the apparatus to receive, fromthe consumer, a rank-ordering of the selected time slots, whereindetermining merchant time slot availability comprises iterativelyanalyzing the selected time slots, starting from a highest rankedselected time slot and proceeding in rank order until an indication ofavailability is received from the merchant, by presenting, to themerchant offering the promotion, a selected time slot, and receiving,from the merchant, an indication of availability for the selected timeslot, and wherein the time slot for redeeming the promotion comprisesthe selected time slot for which the indication of availability isreceived from the merchant.

In yet other embodiments of the apparatus, the computer program code,when executed by the processor, further causes the apparatus to issue,to the consumer, a voucher for redeeming the promotion at the scheduledtime slot. In one such embodiment, the computer program code, whenexecuted by the processor, further causes the apparatus to charge theconsumer for the promotion in response to issuing the voucher.

In other embodiments, the computer program code, when executed by theprocessor, further causes the apparatus to, in an instance in which theselected time slots are not available, repeat the steps of presentingthe plurality of time slots, receiving a selection of multiple timeslots, and determining merchant time slot availability until at leastone selected time slot is available.

In another example embodiment, a computer program product is provided.The computer program product includes a non-transitory computer-readablestorage medium storing computer program code that, when executed by anapparatus, causes the apparatus to present, by a consumer interface, oneor more promotions for products or services offered by a merchant,receive an indication of a selection, by a consumer, of a promotion fromthe one or more promotions, and present, by the consumer interface, aplurality of time slots, wherein each time slot indicates a period oftime during which the promotion may be scheduled for redemption. Thecomputer program code, when executed by the apparatus, further causesthe apparatus to receive a selection of multiple time slots from theplurality of time slots, determine merchant time slot availability forthe selected time slots, and schedule a time slot for redeeming thepromotion based on the determined merchant time slot availability.

In some embodiments of the computer program product, presenting theplurality of time slots is based on predicted booking limits of a set oftime slots including the plurality of time slots. In one suchembodiment, the method further includes calculating the predictedbooking limits of the set of time slots by, for each time slot,calculating a hidden demand, determining an optimal booking limit forthe time slot based on the calculated hidden demand, setting a value ofthe predicted booking limit to the value of the optimal booking limit,and storing the predicted booking limit. In this regard, for each timeslot, determining the optimal booking limit may be further based on abooking capacity of the time slot. In another such embodiment,presenting the plurality of time slots based on predicted booking limitsof the set of time slots includes determining, for each time slot of theset of time slots, whether the predicted booking limit of the time slotis equal to or greater than a current number of bookings for the timeslot, wherein the plurality of time slots presented comprise those ofthe set of time slots for which the predicted booking limit is less thanthe current number of bookings.

In other embodiments of the computer program product, presenting theplurality of time slots to the consumer is further based on a membershipstatus of the consumer. In one such embodiment, presenting the pluralityof time slots includes presenting additional time slots in an instancein which the consumer is identified as a preferred member.

In yet other embodiments of the computer program product, the pluralityof time slots includes preferred time slots. In one such embodiment, thepreferred time slots are chosen based on preferences of the merchant ora promotion and marketing service.

In other embodiments of the computer program product, determiningmerchant time slot availability for the selected time slots includespresenting, to the merchant offering the promotion, each selected timeslot, and receiving, from the merchant, an indication of whether thetime slot is available.

In another embodiment of the computer program product, the computerprogram code, when executed by the apparatus, further causes theapparatus to receive, from the consumer, a rank-ordering of the selectedtime slots, wherein determining merchant time slot availabilitycomprises iteratively analyzing the selected time slots, starting from ahighest ranked selected time slot and proceeding in rank order until anindication of availability is received from the merchant, by presenting,to the merchant offering the promotion, a selected time slot, andreceiving, from the merchant, an indication of availability for theselected time slot, and wherein the time slot for redeeming thepromotion comprises the selected time slot for which the indication ofavailability is received from the merchant.

In yet other embodiments of the computer program product, the computerprogram code, when executed by the apparatus, further causes theapparatus to issue, to the consumer, a voucher for redeeming thepromotion at the scheduled time slot. In one such embodiment, thecomputer program code, when executed by the processor, further causesthe apparatus to charge the consumer for the promotion in response toissuing the voucher.

In other embodiments, the computer program code, when executed by theapparatus, further causes the apparatus to, in an instance in which theselected time slots are not available, repeat the steps of presentingthe plurality of time slots, receiving a selection of multiple timeslots, and determining merchant time slot availability until at leastone selected time slot is available.

In another example embodiment, a method is provided. The method includespresenting, by a consumer interface, one or more promotions for productsor services offered by a merchant, receiving, from a consumer, anindication of a selection of a promotion from the one or morepromotions, receiving, from the consumer, a time window within which theconsumer seeks to redeem the promotion, and scheduling, by a processor,a time slot for redeeming the promotion based on the time window,wherein the time slot comprises a time period within the time window.

In some embodiments of the method, scheduling a time slot for redeemingthe promotion based on the time window includes identifying a set oftime slots within the time window, determining merchant time slotavailability for the set of time slots, and scheduling the time slot forredeeming the promotion based on the merchant time slot availability. Inone such embodiment, the set of time slots is further based on amembership status of the consumer. In this regard, the set of time slotsmay include additional time slots in an instance in which the consumeris identified as a preferred member. In another such embodiment, the setof time slots includes preferred time slots. In this case, the preferredtime slots may be chosen based on preferences of the merchant or apromotion and marketing service.

In another embodiment of the method, determining merchant time slotavailability for the set of time slots includes presenting, to themerchant offering the promotion, each time slot of the set of timeslots, and receiving, from the merchant, confirmation of time slotavailability for each time slot of the set of time slots.

In yet another embodiment, the method further includes issuing, to theconsumer, a voucher for redeeming the promotion at the scheduled timeslot. In this regard, the method may further include charging theconsumer for the promotion in response to issuing the voucher.

In another embodiment, in an instance in which no time slots areavailable within the time window, scheduling the time slot for redeemingthe promotion based on the time window includes presenting, by theconsumer interface, a request for an alternative time window, receiving,from the consumer, a second time window within which the consumer seeksto redeem the promotion, and scheduling the time slot for redeeming thepromotion based on the second time window.

In another example embodiment, an apparatus is provided. The apparatusincludes a processor and a memory, the memory storing computer programcode that, when executed by the processor, causes the apparatus topresent, by a consumer interface, one or more promotions for products orservices offered by a merchant, receive, from a consumer, an indicationof a selection of a promotion from the one or more promotions, receive,from the consumer, a time window within which the consumer seeks toredeem the promotion, and schedule a time slot for redeeming thepromotion based on the time window, wherein the time slot comprises atime period within the time window.

In some embodiments of the apparatus, scheduling a time slot forredeeming the promotion based on the time window includes identifying aset of time slots within the time window, determining merchant time slotavailability for the set of time slots, and scheduling the time slot forredeeming the promotion based on the merchant time slot availability. Inone such embodiment, the set of time slots is further based on amembership status of the consumer. In this regard, the set of time slotsmay include additional time slots in an instance in which the consumeris identified as a preferred member. In another such embodiment, the setof time slots includes preferred time slots. In this case, the preferredtime slots may be chosen based on preferences of the merchant or apromotion and marketing service.

In another embodiment of the apparatus, determining merchant time slotavailability for the set of time slots includes presenting, to themerchant offering the promotion, each time slot of the set of timeslots, and receiving, from the merchant, confirmation of time slotavailability for each time slot of the set of time slots.

In yet another embodiment, the computer program code, when executed bythe processor, further causes the apparatus to issue, to the consumer, avoucher for redeeming the promotion at the scheduled time slot. In thisregard, the computer program code, when executed by the processor, mayfurther cause the apparatus to charge the consumer for the promotion inresponse to issuing the voucher.

In another embodiment, in an instance in which no time slots areavailable within the time window, scheduling the time slot for redeemingthe promotion based on the time window includes presenting, by theconsumer interface, a request for an alternative time window, receiving,from the consumer, a second time window within which the consumer seeksto redeem the promotion, and scheduling the time slot for redeeming thepromotion based on the second time window.

In another example embodiment, a computer program product is provided.The computer program product includes a non-transitory computer-readablestorage medium storing computer program code that, when executed by anapparatus, causes the apparatus to present, by a consumer interface, oneor more promotions for products or services offered by a merchant,receive, from a consumer, an indication of a selection of a promotionfrom the one or more promotions, receive, from the consumer, a timewindow within which the consumer seeks to redeem the promotion, andschedule a time slot for redeeming the promotion based on the timewindow, wherein the time slot comprises a time period within the timewindow.

In some embodiments of the computer program product, scheduling a timeslot for redeeming the promotion based on the time window includesidentifying a set of time slots within the time window, determiningmerchant time slot availability for the set of time slots, andscheduling the time slot for redeeming the promotion based on themerchant time slot availability. In one such embodiment, the set of timeslots is further based on a membership status of the consumer. In thisregard, the set of time slots may include additional time slots in aninstance in which the consumer is identified as a preferred member. Inanother such embodiment, the set of time slots includes preferred timeslots. In this case, the preferred time slots may be chosen based onpreferences of the merchant or a promotion and marketing service.

In another embodiment of the computer program product, determiningmerchant time slot availability for the set of time slots includespresenting, to the merchant offering the promotion, each time slot ofthe set of time slots, and receiving, from the merchant, confirmation oftime slot availability for each time slot of the set of time slots.

In yet another embodiment, the computer program code, when executed bythe apparatus, further causes the apparatus to issue, to the consumer, avoucher for redeeming the promotion at the scheduled time slot. In thisregard, the computer program code, when executed by the apparatus, mayfurther cause the apparatus to charge the consumer for the promotion inresponse to issuing the voucher.

In another embodiment, in an instance in which no time slots areavailable within the time window, scheduling the time slot for redeemingthe promotion based on the time window includes presenting, by theconsumer interface, a request for an alternative time window, receiving,from the consumer, a second time window within which the consumer seeksto redeem the promotion, and scheduling the time slot for redeeming thepromotion based on the second time window.

The above summary is provided merely for purposes of summarizing someexample embodiments to provide a basic understanding of some aspects ofthe invention. Accordingly, it will be appreciated that theabove-described embodiments are merely examples and should not beconstrued to narrow the scope or spirit of the invention in any way. Itwill be appreciated that the scope of the invention encompasses manypotential embodiments in addition to those here summarized, some ofwhich will be further described below.

BRIEF DESCRIPTION OF THE DRAWINGS

Having thus described certain example embodiments of the presentdisclosure in general terms, reference will now be made to theaccompanying drawings, which are not necessarily drawn to scale, andwherein:

FIG. 1 illustrates an example system within which embodiments of thepresent invention may operate;

FIG. 2 illustrates a block diagram showing an example device for use ina promotional server, in accordance with some example embodiments of thepresent invention;

FIG. 3 illustrates a block diagram showing an example device for use bya consumer or merchant, in accordance with an example embodiment of thepresent invention;

FIG. 4 illustrates a block diagram of an example merchant interfacepresenting a set of proposed time slots for selection by a merchant, inaccordance with some example embodiments;

FIG. 5 illustrates an example commission schedule associated with a setof proposed time slots for selection by a merchant, in accordance withsome example embodiments;

FIG. 6 illustrates another example commission schedule associated with aset of proposed time slots for selection by a merchant, in accordancewith some example embodiments;

FIG. 7 illustrates a flowchart describing example operations forselecting, by a promotion system and a merchant, a set of time slots foruse with a promotion, in accordance with some example embodiments;

FIG. 8 illustrates a block diagram of an example merchant interfacepresenting a request to schedule a redemption for promotion at a timeslots, in accordance with some example embodiments;

FIG. 9 illustrates a flowchart describing example operations forscheduling redemption of a promotion at a time slot between a promotionsystem and a merchant, in accordance with some example embodiments;

FIG. 10 illustrates a consumer interface for selecting a promotion, inaccordance with an example embodiment of the present invention;

FIG. 11 illustrates a consumer interface for selecting a time slot forredemption, in accordance with some example embodiments;

FIG. 12 illustrates a flowchart describing example operations forscheduling, by a promotion system and a consumer, a time slot forredeeming a promotion, in accordance with some example embodiments;

FIG. 13 illustrates a consumer interface for selecting multiple timeslots for redemption, in accordance with some example embodiments;

FIG. 14 illustrates another flowchart describing example operations forscheduling, by a promotion system and a consumer, a time slot forredeeming a promotion, in accordance with some example embodiments;

FIG. 15 illustrates a consumer interface for requesting redemption of apromotion within a time window, in accordance with some exampleembodiments;

FIG. 16 illustrates a flowchart describing example operations forscheduling, by a promotion system and a consumer, redemption of apromotion based on a time window, in accordance with some exampleembodiments;

FIG. 17 illustrates a flowchart describing example operations forcalculating a predicted booking limit, in accordance with some exampleembodiments;

FIG. 18 illustrates a flowchart describing example operations fordisplaying one or more time slots, in accordance with some exampleembodiments;

FIG. 19 illustrates another flowchart describing example operations fordisplaying one or more time slots, in accordance with some exampleembodiments;

FIG. 20 illustrates a flowchart describing example operations forsetting a time slot availability probability, in accordance with someexample embodiments; and

FIG. 21 illustrates a flowchart describing example operations fordetermining an optimal booking limit, in accordance with some exampleembodiments.

DETAILED DESCRIPTION

Some embodiments of the present invention will now be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all embodiments of the inventions are shown. Indeed, theseinventions may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. Like numbers refer to like elements throughout.

As used herein, the terms “data,” “content,” “information,” and similarterms may be used interchangeably to refer to data capable of beingtransmitted, received, and/or stored in accordance with embodiments ofthe present invention. Thus, use of any such terms should not be takento limit the spirit and scope of embodiments of the present invention.Further, where a computing device is described herein to receive datafrom another computing device, it will be appreciated that the data maybe received directly from the another computing device or may bereceived indirectly via one or more intermediary computing devices, suchas, for example, one or more servers, relays, routers, network accesspoints, base stations, hosts, and/or the like, sometimes referred toherein as a “network.” Similarly, where a computing device is describedherein to send data to another computing device, it will be appreciatedthat the data may be sent directly to the another computing device ormay be sent indirectly via one or more intermediary computing devices,such as, for example, one or more servers, relays, routers, networkaccess points, base stations, hosts, and/or the like.

As used herein, the term “promotion and marketing service” may include aservice that is accessible via one or more computing devices and isoperable to provide example promotion and/or marketing services onbehalf of one or more providers that are offering one or moreinstruments that are redeemable for goods, services, experiences and/orthe like. In some examples, the promotion and marketing service may takethe form of a redemption authority, a payment processor, a rewardsprovider, an entity in a financial network, a promoter, an agent and/orthe like. As such, the service is, in some example embodiments,configured to present one or more promotions via one or moreimpressions, accept payments for promotions from consumers, issueinstruments upon acceptance of an offer, participate in redemption,generate rewards, provide a point of sale device or service, issuepayments to providers and/or or otherwise participate in the exchange ofgoods, services or experiences for currency, value and/or the like.

As used herein, the term “merchant” may include, but is not limited to,a business owner, consigner, shopkeeper, tradesperson, vender, operator,entrepreneur, agent, dealer, organization or the like that is in thebusiness of a providing a good, service or experience to a consumer,facilitating the provision of a good, service or experience to aconsumer and/or otherwise operating in the stream of commerce. Oneexample merchant may be a running company that sells attire for use by aperson who runs or participates in athletic activities.

As used herein, the term “consumer” may include, but is not limited to,a client, customer, purchaser, shopper, user, or the like, who may be inthe position to or does exchange value for one or more vouchers underthe terms defined by one or promotions. For example, and using theaforementioned running company as the example provider, a consumer maybe an individual who is interested in purchasing running shoes.

As used herein, the term “promotion” may include, but is not limited to,any type of offered, presented or otherwise indicated reward, discount,coupon, credit, deal, incentive, discount, media or the like that isindicative of a promotional value or the like that upon purchase oracceptance results in the issuance of an instrument that may be usedtoward at least a portion of the purchase of particular goods, servicesand/or experiences defined by the promotion. An example promotion, usingthe aforementioned running company as the example provider, is $25 for$50 toward running shoes. In some examples, the promotion defines anaccepted value (e.g., a cost to purchase the promotion), a promotionalvalue (e.g., the value of the resultant instrument beyond the acceptedvalue), a residual value (e.g., the value upon return or upon expiry ofone or more redemption parameters), one or more redemptions parametersand/or the like. Using the running company promotion as an example, theaccepted value is $25 and the promotional value is $50. In this example,the residual value may be equal to the accepted value.

As used herein, the term “impression” may include a communication, adisplay, or other perceived indication, such as a flyer, print media,e-mail, text message, application alert, mobile applications, other typeof electronic interface or distribution channel and/or the like, of oneor more promotions. For example, and using the aforementioned runningcompany as the example provider, an e-mail communication sent toconsumers that indicates the availability of a promotion of $25 for $50toward running shoes.

As used herein, the term “voucher” may include, but is not limited to,any type of gift card, tender, electronic certificate, medium ofexchange, or the like, that embodies the terms of the promotion fromwhich it results and which may be used toward at least a portion of thepurchase, acquisition, procurement, consumption, or the like, of goods,services and/or experiences. In some examples, a voucher may take theform of tender that has a given value that is exchangeable for goods,services and/or experiences and/or a reduction in a purchase price of aparticular good, service or experience. In some examples, the vouchermay have multiple values, such as an accepted value, a promotional valueand/or a residual value. For example, using the aforementioned runningcompany as the example provider, a voucher may comprise an electronicindication in a mobile application that shows $50 of value to spend atthe running company. In some examples, the accepted value of the voucheris defined by the value exchanged for the voucher. In some examples, thepromotional value of the voucher is defined by the promotion from whichthe voucher resulted and is the value of the voucher beyond the acceptedvalue. In some examples, the residual value of the voucher is the valueafter redemption, the value after the expiry or other violation of aredemption parameter, the return or exchange value of the voucher, orthe like.

As used herein, the term “redemption” may include the use, exchange orother presentation of a voucher for at least a portion of a good,service or experience as defined by the voucher and its related offer.In some examples, redemption includes the verification of validity ofthe voucher. In other example embodiments, redemption may include anindication that a particular voucher has been redeemed and thus nolonger retains an actual, promotional and/or residual value (e.g., fullredemption). In other example embodiments, redemption may include theredemption of at least a portion of a voucher's actual, promotionaland/or residual value (e.g., partial redemption). An example ofredemption, using the aforementioned running company as the exampleprovider, is exchanging a $50 voucher and $50 for a $100 pair of runningshoes.

As used herein, the term “time slot” may comprise a period of time(e.g., a minute, an hour, a day, a week, etc.) during which a promotionmay be redeemed by a consumer. In some examples, a time slot may takethe form of an appointment, meeting, session, reservation, or the like.In cases of a promotion for a service, the time slot may comprise aperiod of time during which the redemption transaction must take placeentirely within, or, in an alternative embodiment, the time slot maycomprise a period of time during which the redemption must begin, evenif redemption is not complete until after the end of the time slot. Asan example of a time slot for use with a promotion for a service, usingthe aforementioned running company as an example provider, a time slotfrom 2 pm to 3 pm for redeeming a discounted running gait analysis mayindicate that the analysis is scheduled to begin at 2 pm and will lastuntil 3 pm, or may indicate, in alternative embodiments, that theanalysis is available to begin at any time between 2 pm and 3 pm, evenif it is completed after 3 pm. In the case of a promotion for a product,the redemption may take a fraction of the period of time encompassed bythe time slot. Accordingly, using the aforementioned running company asthe example provider, a time slot from 2 pm to 3 pm for redeeming apromotion for exchanging a $50 voucher and $50 for a $100 pair ofrunning shoes may indicate that redemption must occur at some pointbetween 2 pm and 3 pm. As such, by requiring an appointment forredemption of a product, in some examples the rate of redemptions may benormalized. In a getaway example, the time slot may represent a flighttime, a hotel reservation and/or the like.

As used herein, the term “time window” may comprise a period of time(e.g., a minute, an hour, a day, a week, etc.) including one or moretime slots for redeeming a promotion. For example, using theaforementioned running company as an example provider, a consumer mayselect a time window from 10 am to 3 pm for redeeming a promotion forexchanging a $50 voucher and $50 for a $100 pair of running shoes. Thistime window may include multiple time slots (e.g., 10 am-11 am, 11 am-12pm, etc.) that are acceptable to the consumer.

As used herein, the term “booking” may comprise an indication of a timeslot within which a promotion has been scheduled for redemption. Forexample, using the aforementioned running company as the exampleprovider, a booking may comprise an indication that a consumer isscheduled to redeem a promotion for a running gait analysis at therunning company during a 2 pm-3 pm time slot.

As used herein, the term “booking limit” may comprise a maximum numberof bookings that may be scheduled by a promotion and marketing servicefor a time slot for a promotion. For example, using the aforementionedrunning company as the example provider, given a two person bookinglimit for a 2 pm-3 pm time slot for redeeming a running gait analysis atthe running company, the promotion and marketing service may onlyschedule two redemptions of the running gait analysis promotion for the2 pm-3 pm time slot. Given perfect information, an optimal booking limitmay be calculated exactly. However, in practical applications withincomplete information, the booking limit comprises a predicted value.

As used herein, the term “booking capacity” may comprise a maximumnumber of bookings that may be fulfilled by a merchant for a time slotfor a product or service. For example, using the aforementioned runningcompany as the example provider, the running company may have a threeperson booking capacity for a 2 pm-3 pm time slot for a running gaitanalysis at the running company, indicating that the running companydoes not have enough resources to staff any additional running gaitanalyses during the 2 pm-3 pm time slot. In some examples capacity maybe calculated using a capacity calculator such as the capacitycalculator found in Ser. No. 13/830,243 filed Mar. 14, 2013, theentirety of which is incorporated by reference herein in its entirety.

As used herein, the term “hidden demand” may comprise a number ofbookings for a time slot for a product or service that are placed with amerchant from sources outside the promotion and marketing service. Inthis regard, the sum of the hidden demand and the booking limit equalsthe booking capacity of a time slot for a product or service. Forexample, using the aforementioned running company as the exampleprovider, the running company may have a one person hidden demand for a2 pm-3 pm time slot for a running gait analysis at the running company,indicating that one person is anticipated to book the 2 pm-3 pm timeslot for a running gait analysis from outside the promotion andmarketing service. Given perfect information, the hidden demand may beknown exactly. However, in practical applications, the hidden demandcomprises a predicted value.

As used herein, the term “commission” (i.e., promotion and marketingservice margin) may comprise a portion of a promotion purchase priceretained by a promotion and marketing service. For example, using theaforementioned running company as the example provider, consider apromotion of $50 for $100 towards the purchase of a new pair of shoes atthe running company. The purchase price of the promotion is $50. Thecommission comprises the portion of this $50 purchase prince retained bythe promotion and marketing service in exchange for managing thepromotion.

Overview

A method, apparatus, and computer program product are provided inaccordance with an example embodiment of the present invention in orderto improve the generation and redemption of promotions using anavailability engine that is able to optimize and predict booking limitsfor time slots for promotions.

For a promotion and marketing service and all merchants offering apromotion using a promotion and marketing service, primary goals ofoffering promotions, in some examples, are to increase customer traffic,develop brand recognition, and increase revenue. For suchconsumer-facing business, reputational costs can often significantlydamage the ability to attract future consumers, and thereforereputational costs can quickly translate into economic costs.

As it relates to embodiments of the present invention, such reputationalcosts may arise from offering promotions, in that it is challenging topredict the demand for merchant resources accurately enough to bothminimize the idling of resources and maximize the number of promotionsthat a merchant may offer. There accordingly exists a need for a systemthat can more accurately predict demand for products and services inorder to enable merchants to increase sales volumes while still avoidingthe reputational and economic damage caused by poor promotion redemptionscheduling.

Moreover, although purchasing promotions often provides a pleasant userexperience, many consumers encounter frustration attempting to redeempromotions for services. For instance, a consumer who purchases apromotion for a massage may be dismayed to learn that the massageparlour is only ever open while the consumer is at work. Accordingly,additional reputational harm may occur as a result of frustratingredemption scheduling practices. Additionally, there may be harm to thepromotion and marketing service if the consumer, by their own fault,fails to schedule the service prior to an expiration date.

Embodiments of the present invention address these problems by providinga system that estimates the hidden demand for a time slot for a productor service and then, advantageously in some examples, allows the user toschedule a service at the time of purchase. Moreover, based upon thehidden demand for the time slot and a merchant's capacity during thetime slot, embodiments of the present invention can predict an optimalbooking limit for various time slots using a promotional system, andpresent a user-friendly scheduling interface to consumers who wish toredeem their promotions. Moreover, by using reinforcement learningtechniques, embodiments of the present invention are able to increasethe accuracy of the hidden demand forecasting and optimal booking limitestimation, and, concomitantly, improve the set of time slots presentedto consumers.

Based on the ability to predict an optimal booking limit for a time slotfor a promotion, embodiments of the invention many increase theintelligence with which merchants design promotions, by enablingmerchants to select time slots for redemption and accurately predict thelevel of increase in customer volume in advance.

Moreover, based on the ability to predict optimal booking limits,embodiments of the present invention enable more intelligent promotionredemption scheduling, by tailoring the manner with which the promotionand marketing service may interact with consumers to schedule time slotsfor redeeming promotions.

Accordingly, example embodiments of the present invention enhance themerchant and consumer experience by providing more powerful tools forgenerating promotions and scheduling redemptions of promotions.

System Architecture

The method, apparatus, and computer program product of the presentinvention may be embodied by any of a variety of devices. For example,the method, apparatus, and computer program product of an exampleembodiment may be embodied by a networked device, such as a server orother network entity, configured to communicate with one or moredevices, such as one or more client devices. Additionally oralternatively, the computing device may include fixed computing devices,such as a personal computer or a computer workstation. Still further, anexample embodiment may be embodied by any of a variety of mobileterminals, such as a portable digital assistant (PDA), mobile telephone,smartphone, laptop computer, tablet computer, or any combination of theaforementioned devices.

In this regard, FIG. 1 discloses an example computing system withinwhich embodiments of the present invention may operate. A promotion andmarketing service may manage a promotional system 102 for managing theoffer, purchase, and redemption of a set of promotions. Consumers andmerchants may access the promotional system 102 via a network 112 (suchas the Internet, or the like) using computer devices 114A through 114Nand 116A through 116N, respectively. The promotional system 102 maycomprise a promotional server 104 in communication with a promotionaldatabase 106 that stores the set of promotions managed by the promotionand marketing service. The promotional system may further have access toa bookings database 108 that stores data indicating a set of time slotsassociated with each promotion stored in the promotional database 106,and a historical database 110 storing information regarding previouslyoffered promotions. In various embodiments, promotional database 106,bookings database 108, and historical database 110 may be distinctdatabases, or may alternatively refer to a single database. Thepromotional system 102 is, in some examples, able to identify time slotsrelevant to a promotion, predict demand for the promotion at each timeslot, offer the promotion to consumers, schedule time slots forredemption of the promotion, and implement iterative reinforcementlearning techniques to improve accuracy of each of these functions, aswill be described below. An additional description of schedulingoperations that may be used alternatively or additionally is describedin U.S. application Ser. No. 13/631,313, filed Sep. 28, 2012, theentirety of which is incorporated by reference herein.

The promotional server 104 may be embodied by a computing system, suchas apparatus 200 shown in FIG. 2. As illustrated in FIG. 2, theapparatus 200 may include a processor 202, a memory 204, an input/outputmodule 206, a communications module 208, a booking optimization module210, and a time slot management module 212, and may be configured toexecute the operations described below. In some embodiments, theprocessor 202 (and/or co-processor or any other processing circuitryassisting or otherwise associated with the processor) may be incommunication with the memory 204 via a bus for passing informationamong components of the apparatus. The memory 204 may be non-transitoryand may include, for example, one or more volatile and/or non-volatilememories. In other words, for example, the memory may be an electronicstorage device (e.g., a computer readable storage medium). The memorymay be configured to store information, data, content, applications,instructions, or the like, for enabling the apparatus to carry outvarious functions in accordance with an example embodiment of thepresent invention.

The processor 202 may be embodied in a number of different ways and may,for example include one or more processing devices configured to performindependently. Additionally or alternatively, the processor may includeone or more processors configured in tandem via a bus to enableindependent execution of instructions, pipelining, and/ormultithreading.

In an example embodiment, the processor 202 may be configured to executeinstructions stored in the memory 204 or otherwise accessible to theprocessor. Alternatively or additionally, the processor may beconfigured to execute hard-coded functionality. As such, whetherconfigured by hardware or software methods, or by a combination thereof,the processor may represent an entity (e.g., physically embodied incircuitry) capable of performing operations according to an embodimentof the present invention while configured accordingly. Alternatively, asanother example, when the processor is embodied as an executor ofsoftware instructions, the instructions may specifically configure theprocessor to perform the algorithms and/or operations described hereinwhen the instructions are executed.

In some embodiments, the apparatus 200 may include an input/outputmodule 206 that may, in turn, be in communication with processor 202 toprovide output to the user and, in some embodiments, to receive anindication of a user input. The input/output module may comprise a userinterface and may include a display. In such embodiments, the userinterface may comprise a web user interface, a mobile application, aclient device, a kiosk, or the like. In some embodiments, theinput/output module 206 may also include a keyboard, a mouse, ajoystick, a touch screen, touch areas, soft keys, a microphone, aspeaker, or other input/output mechanisms. The processor, or userinterface circuitry including the processor, may be configured tocontrol one or more functions of one or more user interface elementsthrough computer program instructions (e.g., software and/or firmware)stored on a memory accessible to the processor (e.g., memory 204,onboard memory of the processor, and/or the like).

Meanwhile, the communications module 208 may be any means such as adevice or circuitry embodied in either hardware or a combination ofhardware and software that is configured to receive and/or transmit datafrom/to a network and/or any other device or module in communicationwith the apparatus 200. In this regard, the communication interface mayinclude, for example, an antenna (or multiple antennas) and supportinghardware and/or software for enabling communications with a wirelesscommunication network. Additionally or alternatively, the communicationinterface may include the circuitry for interacting with the antenna(s)to cause transmission of signals via the antenna(s) or to handle receiptof signals received via the antenna(s). In some environments, thecommunication interface may additionally or alternatively support wiredcommunication. As such, for example, the communication interface mayinclude a communication modem and/or other hardware/software forsupporting communication via cable, digital subscriber line (DSL),universal serial bus (USB), or other mechanisms.

The booking optimization module 210 may be used to calculate hiddendemand for a time slot for a promotion and to predict an optimal bookinglimit for the time slot for the promotion, as will be described ingreater detail below. In this regard, as noted above, the hidden demandfor a time slot comprises the demand for the time slot that will befulfilled without using the promotion. Similarly, the optimal bookinglimit comprises an estimated number of redemptions that may be scheduledfor the time slot that produces the greatest value. In this regard,every time slot for a product or service has a capacity (e.g., a massageparlor with one masseuse has a capacity of 1 massage per time slot,whereas a massage parlor with two masseuses has a capacity of 2 massagesper time slot, etc.) The hidden demand comprises the portion of thecapacity that has already been reserved without the use of the promotionand marketing service. For example, using the 1 masseuse massage parlor,the hidden demand would be 0 or 1. If the hidden demand is 0, then theoptimal booking limit is 1. Moreover, using reinforcement learningtechniques, the booking optimization module 210 is able to dynamicallyimprove its predictions over time and/or adjust its predictions in theface of updated demand patterns or altered time slots. In accomplishingthese tasks, booking optimization module 210 may collect, store, and/orupdate data in bookings database 108 and/or historical database 110.

The time slot management module 212 may be used to identify time slotssuitable for a promotion, allocate time slots to the promotion, manageconsumer and merchant interactions regarding time slot availability, andschedule time slots for redeeming the promotion. The time slotmanagement module 212 is further able to generate a proposed commissionschedule for a set of time slots for a promotion, and associate timeslots and corresponding commissions for the promotion. Additionaldiscussion of proposed commission (i.e., provider margin or promotionand marketing service margin) is further described with respect to U.S.application Ser. No. 13/832,804, filed Mar. 15, 2013, the entirety ofwhich is incorporated by reference herein. In alternate embodiments, thetime slot management module 212 may be used to flatten or otherwiseregulate redemptions of promotions, such as the redemption curvedescribed with reference to FIG. 3 of U.S. application Ser. No.13/796,635, filed Mar. 13, 2013, the entirety of which is incorporatedby reference herein. In accomplishing these tasks, the time slotmanagement module 212 may collect, store, and/or update data in bookingsdatabase 108 and/or historical database 110.

In one embodiment, a consumer or merchant may use the apparatus 200(e.g., as a kiosk) to communicate with the promotional system 102 toupdate or view promotion redemption options and/or schedule redemptionof a promotion. However, in some embodiments of the present invention,the consumer or merchant may perform these functions from outside of thepromotional system 102 using, for example, an end-user device, such asconsumer device 114 or merchant device 116.

Referring now to FIG. 3, a block diagram is illustrated showing anexample end-user device, apparatus 300, which may be configured toenable a user to update or view promotion redemption options and/orschedule redemption of a promotion from outside the promotional system102, in accordance with embodiments of the present invention.

In FIG. 3, the apparatus 300, which may embody consumer device 114 ormerchant device 116, may include or otherwise be in communication with aprocessor 302, a memory 304, a communications module 308, and a userinterface 306. In some embodiments, the processor (and/or co-processoror any other processing circuitry assisting or otherwise associated withthe processor) may be in communication with the memory 304 via a bus forpassing information among components of the apparatus. The memory 304may be non-transitory and may include, for example, one or more volatileand/or non-volatile memories. In other words, for example, the memorymay be an electronic storage device (e.g., a computer readable storagemedium). The memory may be configured to store information, data,content, applications, instructions, or the like, for enabling theapparatus to carry out various functions in accordance with an exampleembodiment of the present invention.

The processor 302 may be embodied in a number of different ways and may,for example include one or more processing devices configured to performindependently. Additionally or alternatively, the processor may includeone or more processors configured in tandem via a bus to enableindependent execution of instructions, pipelining, and/ormultithreading.

In an example embodiment, the processor 302 may be configured to executeinstructions stored in the memory 304 or otherwise accessible to theprocessor. Alternatively or additionally, the processor may beconfigured to execute hard-coded functionality. As such, whetherconfigured by hardware or software methods, or by a combination thereof,the processor 302 may represent an entity (e.g., physically embodied incircuitry) capable of performing operations according to an embodimentof the present invention while configured accordingly. Alternatively, asanother example, when the processor 302 is embodied as an executor ofsoftware instructions, the instructions may specifically configure theprocessor 302 to perform the algorithms and/or operations describedherein when the instructions are executed.

In some embodiments, the apparatus 300 may include a user interface 306that may, in turn, be in communication with processor 302 to provideoutput to the user and, in some embodiments, to receive an indication ofa user input. As such, the user interface 306 may include a display andmay comprise a web user interface, a mobile application, a clientdevice, a kiosk, or the like. In some embodiments, the user interface306 may also include a keyboard, a mouse, a joystick, a touch screen,touch areas, soft keys, a microphone, a speaker, or other input/outputmechanisms. The processor 302, or user interface circuitry comprisingthe processor 302, may be configured to control one or more functions ofone or more user interface elements through computer programinstructions (e.g., software and/or firmware) stored on a memoryaccessible to the processor (e.g., memory 304, and/or the like).

Meanwhile, the communications module 308 may be any means such as adevice or circuitry embodied in either hardware or a combination ofhardware and software that is configured to receive and/or transmit datafrom/to a network and/or any other device or module in communicationwith the apparatus 300 (e.g., promotional server 104 or, more generally,promotional system 102, other consumer devices 114 or merchant devices116, or the like). In this regard, the communication interface mayinclude, for example, an antenna (or multiple antennas) and supportinghardware and/or software for enabling communications with a wirelesscommunication network. Additionally or alternatively, the communicationinterface may include the circuitry for interacting with the antenna(s)to cause transmission of signals via the antenna(s) or to handle receiptof signals received via the antenna(s). In some environments, thecommunication interface may additionally or alternatively support wiredcommunication. As such, for example, the communication interface mayinclude a communication modem and/or other hardware/software forsupporting communication via cable, digital subscriber line (DSL),universal serial bus (USB), or other mechanisms.

Merchant Interaction

As described herein, embodiments of the present invention are disclosedfor associating time slots with a promotion and for scheduling timeslots for redemption of the promotion based on merchant availability.

Turning now to FIG. 4, an example merchant interface 400 is shown, withwhich a merchant may interact to associate time slots with a promotion.In this regard, merchant interface 400 may be presented during aninitial promotion development process between the merchant and thepromotion and marketing service, and more particularly may be presentedafter agreement regarding the product or service and, in someembodiments, after agreement regarding promotion fine print and purchaseprice. In one example embodiment, merchant interface 400 may comprise aweb user interface. In this regard, merchant interface 400 may comprisea graphical user interface that enables the merchant, another computingdevice connected to the merchant interface 400, or the like, to exchangeinformation with a promotion and marketing service regarding selectionof time slots and/or commission terms for redeeming the promotion inselected time slots.

As shown in FIG. 4, merchant interface 400 may display a list ofproposed time slots 402A to 402N for use with a promotion. The list ofproposed time slots 402A-402N may be calculated based on data frombookings database 108 or historical database 110. In this regard,promotional system 102 may determine, by querying historical database110, a standard set of time slots for the particular merchant offeringthe promotion or for the particular product or service associated withthe promotion. Alternatively, by querying the historical database 110,the promotional system 102 may identify a set of time slots thatincludes every time slot previously offered for the particular productor service. Although shown in FIG. 4 as non-overlapping, in someembodiments the time slots 402A-402N may advantageously overlap based onthe product or service associated with the promotion. For example, apromotion for an audio tour at a museum guided using a headphones or ahandheld device may not require that each time slot is non-overlapping,because the scheduling is largely non-rivalrous (provided there aresufficient headphones or handheld devices). Accordingly, this exampleaudio tour promotion may be associated with time slots that arestaggered by 5 minutes, even though the audio tour itself lasts an hour.

Along with each time slot 402, merchant interface 400 may display apredicted booking limit 404 for the time slot. Accordingly, for timeslots 402A-402N, merchant interface 400 may display predicted bookinglimits 404A-404N, respectively. As described in the Booking Optimizationsection, each predicted booking limit indicates a number of bookingsthat the promotion and marketing service may allocate for a time slotfor the promotion.

Accordingly, merchant interface 400 presents the merchant with a list oftime slot/predicted booking limit pairs 406 that may be selected for usewith a promotion. By viewing time slot/predicted booking limit pairs406, the merchant is able to understand the likely demand that will beadded by virtue of associating a time slot with a promotion oralternatively the likely demand that the merchant already experiencesfor that time slot irrespective of the promotion. In addition, thebooking limits establish a basis for the commission schedule, profitsharing, margin distribution or the like, as described below. Merchantinterface 400 may further comprise an interactive interface enabling themerchant to select one or more specific time slots. In such embodiments,each time slot may comprise a selectable icon enabling the merchant toquickly and easily associate time slots with the promotion. Uponselection, merchant interface 400 may be updated to indicate to themerchant that the time slot has been selected. One example in which themerchant interface 400 may be updated to indicate selection is shown inFIG. 4, in which the coloring of time slot 408 is changed uponselection. Of course, other graphical illustrations for indicatingselection are contemplated within the scope of the present invention,such as changing the font or size of selected time slots, bolding,italicizing, or underlining the graphical display of selected timeslots, or the like. After selecting desired time slot(s) for use withthe promotion, the merchant may transmit the selection(s) to thepromotional server 104 by selecting the “Submit” icon 410.

Moreover, in some embodiments, the predicted booking limits 404A-404Nmay comprise editable fields that the merchant may adjust. In thisregard, upon selection of a time slot 402, the merchant may select andrevise a corresponding booking limit field 404, to indicate an actualbooking limit that the merchant commits to fulfilling.

Turning now to FIG. 5, merchant interface 500 shows an examplecommission schedule that in some embodiments may be presented to themerchant in conjunction with the list of time slots 402A-402N. Thecommission schedule displays a list of commissions 502A-502N due thepromotion and marketing service for promotion redemption at the list oftime slots 402A-402N. Specifically, each commission 502 indicates acommission charged for a corresponding time slot 402. Moreover, eachcommission is based on the predicted booking limit for the time slot. Inthis regard, the commission for each time slot may be determined by asales representative of the promotion and marketing system. In someembodiments, however, the commission for each time slot may bedetermined algorithmically as a function of the predicted booking limit,the merchant capacity of the time slot, and/or minimum and maximumpossible commissions determined by the promotion and marketing systemusing, for example, regional or global norms stored in bookings database108 or historical commissions for similar services stored in historicaldatabase 110).

The commission may further be based on goals of the promotion andmarketing service. For instance, in some embodiments such as the examplecommission schedule shown in FIG. 5, the promotion and marketing servicemay charge higher commissions for low-demand time slots (which haveaccordingly higher predicted booking limits) and may charge lowercommissions for high demand time slots (which likely will havesignificant hidden demand and accordingly lower predicted bookinglimits). Because merchants naturally may seek to maximize revenue andavoid idling resources, merchants may be willing to pay highercommissions to fill low demand time slots. Similarly, the promotion andmarketing service may require higher margins for offering promotions intime slots that have low demand, to compensate for the accordinglyreduced likelihood of consumers scheduling redemption in such timeslots.

In other embodiments, the promotion and marketing service may chargelower commissions for time slots with higher predicted booking limits.In this regard, with a higher predicted booking limit, the probabilityof encountering a collision (e.g., situations where a customer seeks tobook a time slot, only to learn that the merchant no longer hasavailability at that time slot) may be expected to diminish, thusreducing the chance of suffering any reputational harm from collisions.

In any event, as shown in FIG. 5, selection of a time slot 408associates the time slot 408 with the promotion, and further approvesthe corresponding commission 502 shown in the commission schedule.Accordingly, the merchant interface 500 may be updated to indicate tothe merchant that the commission has been approved.

Turning now to FIG. 6, an example commission schedule 600 is shown foruse in some embodiments which additionally includes preferred customercommissions 602A-602N for the time slots 402A-402N. Preferred customercommissions may be associated with preferred customers, which in someembodiments are identified, based on a consumer purchase history,purchase velocity or the like, as the portion of its consumers that maybe notably more likely than average to purchase products or services. Inother embodiments, preferred customers may comprise customers who havecollected a baseline level of rewards over a predetermined period oftime or who have purchased a preferred membership plan from thepromotion and marketing service. As with time slots 402A-402N, preferredcustomer commissions 602A-602N comprise icons selectable by themerchant. In this regard, each preferred customer commission 502indicates a commission charged for a corresponding time slot 402 if theredeeming consumer is a preferred customer of the promotion andmarketing service.

Selection of a preferred customer commission 602 enables redemption atthe corresponding time slot by a preferred customer, upon which thepreferred customer commission 602 will be charged by the promotion andmarketing service. In the example illustrated in FIG. 6, the commissioncharged for redemptions by preferred customers is increased, as thosecustomers are judged to be more likely to make additional purchases andtherefore are more valuable to merchants. In this fashion, the promotionand marketing service may incentive merchants to offer additional oralternative time slots to preferred customers of the promotion andmarketing service. Moreover, the promotion and marketing service mayraise commissions on preferred customers, as preferred customers aremore likely to actually make a purchase than other customers.

In some embodiments consistent with FIG. 6, selection of a time slot 408associates the time slot 408 with the promotion and also triggersdefault selection of the corresponding basic customer commission(equivalent to commission 502 shown in FIG. 5) associated with the timeslot 408 (see, for example, the group of time slots 606). However, themerchant may additionally selected the preferred customer commission(enabling redemption at the time slot by a preferred customer), and maytoggle selection of the basic customer commission and the preferredcustomer commission 602, so long as at least one of commission type isalways selected for every selected time slot. As illustrated in FIG. 6,in some examples, both commissions may be selected (see 604), only abasic customer commission is selected (see 606), or only a preferredcustomer commission is selected (see 608). In this fashion, merchantinterface 600 adds additional flexibility to the time slot associationprocess by enabling the merchant to select the types of customers thatmay redeem promotions at various time slots.

FIG. 7 illustrates a flowchart containing example operations forassociating time slots with a promotion from the perspective of amerchant interface with which merchants may interact. The operationsillustrated in FIG. 7 may, for example, be performed by the merchantdevice 116, such as apparatus 300, and may use processor 302, memory304, user interface 306, and communications module 308. In this regard,the operations may be performed with the assistance of, and/or under thecontrol of one or more devices, such as promotional server 104, such as,in at least one example embodiment, apparatus 200, and may use processor202, memory 204, I/O module 206, communications module 208, bookingoptimization module 210, and time slot management module 212.

In operation 702, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for receiving,from a merchant, details of a promotion for a good or service. Thedetails may comprise selection of a product or service for the promotionand, in some embodiments, may include promotion fine print and apromotion purchase price.

In operation 704, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for presenting aset of proposed time slots for redeeming the promotion and a predictedbooking limit for each proposed time slot. In this regard, the predictedbooking limit of the time slots may be determined, for example, in themanner described with reference to FIG. 17 below.

In operation 706 the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for receiving,from the merchant, selection of one or more time slots from the set ofproposed time slots. The set of proposed time slots may be received viamerchant selection of presented time slot icons, as previouslydescribed. In some embodiments, however, the selection of one or moretime slots may be received by other alternative methods.

Optionally, in operation 708, the apparatus 300 may include means, suchas user interface 306, communications module 308, or the like, forpresenting a commission schedule for the set of proposed time slots,wherein receiving the selection of time slots for use with the promotionis based on the commission schedule. The commission schedule may bedeveloped, for example, by time slot management module 212 of thepromotional server. As previously described in connection with FIGS. 5and 6, the commission schedule includes commissions for a promotion andmarketing service for redeeming the promotion at each proposed timeslot. In this regard, the commissions may be based on a predicted demandof each proposed time slot. Moreover, the membership status may be basedon a consumer purchase history, purchase velocity or the like. As such,the promotion and marketing service may identify preferred customers orconfer preferred membership status on a certain portion of its consumersthat may be notably more likely than average to purchase products orservices. Alternatively or additionally, the promotion and marketingservice may identify preferred customers or confer preferred membershipstatus on a certain portion of its consumers who have reachedpredetermined rewards thresholds or who have purchased upgrades to apreferred membership status.

Turning now to FIG. 8, an example merchant interface 800 is illustratedfor receiving an indication of whether the merchant is available at atime slot. In this regard, although, as noted previously, a bookinglimit for a time slot for a promotion may be predicted, prior toscheduling a redemption for a specific time slot, the promotion andmarketing system must determine that the merchant actually hasavailability to facilitate the redemption at a selected time slot. Inthis regard, merchant interface 800 is presented to the merchant,including an identification of the promotion 802, the selected time slotfor redemption 804, and optionally an indication of whether the consumerseeking redemption is a preferred customer 806 (which may be indicatedby a filled or unfilled box, or any other suitable indicator). Inresponse to receiving merchant interface 800, the merchant may selectyes (808) or no (810) to transmit, via merchant device 116, anindication of actual availability for redeeming the promotion in therequested time slot. In this regard, actual availability may be based ona known merchant capacity, the hidden demand for the product or servicefor the time slot, whether the consumer is a preferred customer, and/orany other unusual event that may affect the merchant's ability to fulfilthe request (unexpected staffing shortages, or the like).

As shown in FIG. 9, a flowchart is illustrated containing exampleoperations for scheduling time slots for redeeming a promotion from theperspective of a merchant interface with which merchants may interact.The operations illustrated in FIG. 9 may, for example, be performed bythe merchant device 116, such as apparatus 300, and may use processor302, memory 304, user interface 306, and communications module 308. Theoperations may further be performed with the assistance of, and/or underthe control of promotional server 104, such as, in one embodiment,apparatus 200, and may use processor 202, memory 204, I/O module 206,communications module 208, booking optimization module 210, and timeslot management module 212.

In operation 902, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for receiving arequest for redemption of a promotion at a time slot. The time slot maybe identified by, for example, time slot management module 212 based ona predicted booking limit of a set of time slots and a number ofbookings for each time slot of the set of time slots. Moreover, in someembodiments, the predicted booking limit of the set of time slots may becalculated for each time slot of the set of time slots by bookingoptimization module 210. In this regard, the predicted booking limit foreach time slot may be calculated, for example, in the manner describedwith reference to FIG. 17 below. Moreover, time slot management module212 may identify the time slot based on the predicted booking limit ofthe set of time slots and the number of bookings schedule for each timeslot, by determining, for each time slot, whether the predicted bookinglimit is equal to or greater than a current number of bookings for thetime slot, wherein the identified time slot comprises the time slothaving a lowest ration of the current number of bookings to itspredicted booking limit.

In operation 904, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for presentingthe selected time slot to a merchant. In this regard, presentation ofthe selected time slot may include presentation of a merchant interfacesuch as example merchant interface 800, shown in FIG. 8. Accordingly,presenting the selected time slot to a merchant may, in someembodiments, further include identifying a promotion for which the timeslot is requested, and identifying whether the consumer requestingredemption is a preferred customer of the promotion and marketingservice.

In operation 906, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for receiving,from the merchant, an indication of whether the time slot is available.Alternatively or additionally, the apparatus 300 may be in datacommunication with scheduling software for the merchant and thereforemay automatically determine whether a time slot is available.

In operation 908, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for, in aninstance in which the time slot is available, scheduling the time slotfor redeeming the promotion.

Optionally, in operation 910, the apparatus 300 may include means, suchas user interface 306, communications module 308, or the like, forcausing a consumer to be charged in an instance in which the time slotis scheduled for redeeming the promotion.

Accordingly, as disclosed in conjunction with FIGS. 4-9, embodiments ofthe present invention describe operations by which a promotion andmarketing service may interact with a merchant to identify time slotssuitable for a promotion, allocate time slots to the promotion, managemerchant interactions regarding time slot availability, and scheduletime slots for redeeming the promotion.

Consumer Interaction

Additional embodiments of the present invention are designed to receiveredemption selections from a consumer and schedule redemption of apromotion in accordance with consumer selections and/or actual time slotavailability.

Turning now to FIG. 10, an example consumer interface 1000 is shown,with which a consumer may interact. Consumer interface 1000 may comprisean electronic communication. In one such example, the electroniccommunication 1000 may be an e-mail viewable in an e-mail viewingapplication or using web-based e-mail service. Communication 100 mayalternative be a webpage viewable with a web browser (e.g., a websitehosted by the promotion and marketing system), or an applicationassociated with the promotion and marketing service (e.g., a smartphone“app” provided by the promotion and marketing service).

The example electronic communication 1000 includes impressions 1002-1012advertising one or more promotions. In some embodiments, consumerselection of an impression may direct the consumer to more informationabout the content associated with the impression. For example, selectingan impression may provide the consumer with additional information aboutthe promotion and an interface allowing the consumer to purchase thepromotion.

As shown in FIG. 11, after purchasing a promotion the consumer may bepresented with a consumer interface 1100 that displays a list of one ormore time slots 1102A to 1102N which the consumer may select to scheduleredemption of the promotion. The list of one or more time slots1102A-1102N may be calculated based on data from bookings database 108or historical database 110. In this regard, promotional system 102 maydetermine, by querying historical database 110, a standard set of timeslots for the particular merchant offering the promotion or for theparticular product or service associated with the promotion.Alternatively, by querying the historical database 110, the promotionalsystem 102 may identify a set of time slots that includes every timeslot previously offered for the particular product or service. Althoughshown in FIG. 11 as non-overlapping, in some embodiments the one or moretime slots 1102A-1102N may advantageously overlap based on the productor service associated with the promotion, as described previously inconnection with FIG. 4.

Consumer interface 1100 may further comprise an interactive interfaceenabling the consumer to select one of time slots 1102A-1102N. In thisregard, each time slot may comprise a selectable icon enabling theconsumer to quickly and easily associate time slots with the promotion.Upon selection, consumer interface 1100 may be updated to indicate tothe consumer that the time slot has been selected. As shown with timeslot 1104, one example mechanism for indicating selection of a time slotis shown in FIG. 11, in which the coloring of the time slot 1104 ischanged upon selection. Of course, other graphical illustrations forindicating selection are contemplated within the scope of the presentinvention, such as changing the font or size of selected time slots,bolding, italicizing, or underlining the graphical display of selectedtime slots, or the like. After selecting a desired time slot forredemption of the promotion, the consumer may transmit the selection tothe promotional server 104 by selecting the “Submit” icon 1106.

Turning now to FIG. 12, a flowchart is illustrated containing exampleoperations for scheduling time slots for redeeming a promotion from theperspective of a consumer interface with which consumers may interact.The operations illustrated in FIG. 12 may, for example, be performed bya consumer device 114, such as apparatus 300, and may use processor 302,memory 304, user interface 306, and communications module 308. Theoperations may further be performed with the assistance of, and/or underthe control of promotional server 104, such as, in one embodiment,apparatus 200, and may use processor 202, memory 204, I/O module 206,communications module 208, booking optimization module 210, and timeslot management module 212.

In operation 1202, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for presentingone or more promotions for products or services offered by one or moremerchants. As described in connection with FIG. 10, promotions may bepresented in an electronic communication, such as an email, anapplication, or a webpage. In response, in operation 1204, the apparatus300 includes means, such as user interface 306, communications module308, or the like, for receiving an indication of a selection, by aconsumer, of a promotion from the one or more promotions.

In operation 1206, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for presentingone or more time slots based on predicted booking limits of a set oftime slots including the one or more time slots, wherein each time slotindicates a period of time during which the promotion may be scheduledfor redemption. In one embodiment, time slot management module 212 maydetermine the one or more time slots to present. In this regard,presenting the one or more time slots based on predicted booking limitsmay, in some embodiments, include determining, for each time slot,whether the predicted booking limit of the time slot is equal to orgreater than a current number of bookings for the time slot, wherein thetime slots presented comprise those for which the predicted bookinglimit is less than the current number of bookings, thus indicatingavailability for the current consumer.

In one embodiment, the presentation of time slots to the consumer isfurther based on a membership status of the consumer. For instance, thepresented time slots may include additional time slots in an instance inwhich the consumer is identified as a preferred member. In anotherembodiment, the one or more time slots presented may include preferredtime slots. In one such embodiment, the preferred time slots may bechosen based on preferences of the merchant or the promotion andmarketing service. For example, if a restaurant offers a promotion usinga promotion and marketing service, the restaurant may prefer thatpromotional consumers redeem promotions at traditionally off-peak times,such as between 2 and 4 pm. In another example, the promotion andmarketing service may prefer that promotional consumers redeempromotions in time slots having the highest predicted booking limit, toavoid potential collisions, or may prefer that promotional consumersredeem promotions in time slots having highest associated commission, tomaximize revenue.

In yet another embodiment, the apparatus 200 includes means, such asbooking optimization module 210, or the like, for calculating thepredicted booking limits of the set of time slots, such as in the mannerdescribed with reference to FIG. 17 below.

In operation 1208, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for receiving aselection of a time slot from the one or more time slots.

In operation 1210, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for determiningmerchant time slot availability for the selected time slot. In thisregard, determining merchant time slot availability may includepresenting, to the merchant, the selected time slot, and receiving, fromthe merchant, an indication of whether the time slot is available. Inone embodiment, however, determining merchant time slot availability mayinclude accessing a merchant's scheduling system, or the like, toautomatically download time slot availability information. In aninstance in which the selected time slot is not available, however, theapparatus 300 may repeat operations 1206, 1208, and 1210 until aselected time slot is available.

In operation 1212, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for scheduling atime slot for redeeming the promotion based on the determined merchanttime slot availability.

Optionally, in operation 1214, the apparatus 300 may include means, suchas user interface 306, communications module 308, or the like, forissuing, to the consumer, a voucher for redeeming the promotion at thescheduled time slot.

Finally, in operation 1216, the apparatus 300 may optionally includemeans, such as user interface 306, communications module 308, or thelike, for charging the consumer for the promotion in response to issuingthe voucher. In this regard, charging the consumer may comprise acredit, debit, or electronic funds transfer for the purchase price ofthe promotion.

FIG. 11, described previously, illustrates a consumer interface 1100using which a consumer may select a time slot to schedule redemption ofa promotion. In an alternative embodiment illustrated in FIG. 13, aconsumer interface 1300 is disclosed using which a consumer may selectmultiple time slots within which the consumer is willing to redeem apromotion. In this regard, after purchasing a promotion the consumer maybe presented with consumer interface 1300, which, like consumerinterface 1100, displays a list of one or more time slots 1102A to 1102Nwhich the consumer may select to schedule redemption of the promotion.As described in connection with FIG. 11, the list of one or more timeslots 1102A-1102N may be calculated based on data from bookings database108 or historical database 110. The promotional system 102 maydetermine, by querying historical database 110, a standard set of timeslots for the particular merchant offering the promotion or for theparticular product or service associated with the promotion.Alternatively, by querying the historical database 110, the promotionalsystem 102 may identify a set of time slots that includes every timeslot previously offered for the particular product or service. As withFIG. 11, although the time slots shown in FIG. 13 are non-overlapping,in some embodiments the one or more time slots 1102A-1102N mayadvantageously overlap.

Like consumer interface 1100, consumer interface 1300 may comprise aninteractive interface enabling the consumer to select one of time slots1102A-1102N. In this regard, each time slot may comprise a selectableicon enabling the merchant to quickly and easily associate time slotswith the promotion. Upon selection, consumer interface 1300 may beupdated to indicate to the consumer that the time slot has beenselected. As shown with time slot 1104, one example mechanism forindicating selection comprises coloring the time slot 1104 uponselection. Of course, other graphical illustrations for indicatingselection are contemplated within the scope of the present invention,such as changing the font or size of selected time slots, bolding,italicizing, or underlining the graphical display of selected timeslots, or the like.

Unlike consumer interface 1100, however, consumer interface 1300 enablesa consumer to select more than one time slot 1102. In this regard, afterselecting desired time slots for redemption of the promotion, theconsumer may transmit the selections to the promotional server 104 byselecting the “Submit” icon 1308. Upon receipt of the selected timeslots, the promotional system 104, and more particularly time slotmanagement module 212 of apparatus 200 may then determine merchant timeslot availability and schedule one of the selected time slots forredeeming the promotion, as described below in connection with FIG. 14.

Returning now to FIG. 13, in some embodiments, consumer interface 1300further enables the consumer to rank the selected time slots in order ofpreference, thus increasing the likelihood that an acceptable time slotcan be scheduled for redemption of the promotion. To this end, incorrespondence with time slots 1102A-1102N, consumer interface 1300further includes rank fields 1302A-1302N, respectively. When a time slot1102 is selected, the consumer interface 1300 activates thecorresponding rank field 1302 (e.g., rank field 1306) to enable entry ofa numeric ranking of the newly selected time slot (e.g., the consumer'sfirst preference, second preference and third preference in the exampleshown in FIG. 13). In some embodiments, upon selection of a time slot,the associated rank field 1302 is assigned the lowest rank positionuntil modified by the consumer. In this way, consumer interface 1300prevents partial rank-ordering of a set of selected time slots.Moreover, unlike activated rank fields, rank fields associated withunselected time slots cannot be edited, to prevent the rank-ordering ofunselected time slots.

After selecting desired time slots for redemption of the promotion andspecifying an appropriate rank-ordering of the selected time slots, theconsumer may transmit the selections, in addition to rank-ordering data,to the promotional server 104 by selecting the “Submit” icon 1308.

Turning now to FIG. 14, a flowchart is illustrated containing exampleoperations for scheduling time slots for redeeming a promotion from theperspective of a consumer interface with which consumers may interact.The operations illustrated in FIG. 14 may, for example, be performed bya consumer device 114, such as apparatus 300, and may use processor 302,memory 304, user interface 306, and communications module 308. Theoperations may further be performed with the assistance of, and/or underthe control of promotional server 104, such as, in one embodiment,apparatus 200, and may use processor 202, memory 204, I/O module 206,communications module 208, booking optimization module 210, and timeslot management module 212.

In operation 1402, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for presentingone or more promotions for products or services offered by one or moremerchants. As described in connection with FIG. 10, promotions may bepresented in an electronic communication, such as an email, anapplication, or a webpage. In response, in operation 1404, the apparatus300 includes means, such as user interface 306, communications module308, or the like, for receiving an indication of a selection, by aconsumer, of a promotion from the one or more promotions.

In operation 1406, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for presenting aplurality of time slots for selection. In one embodiment, the pluralityof time slots presented are chosen based on predicted booking limits ofa set of time slots including the plurality time slots. In this regard,time slot management module 212 may determine the plurality of timeslots to present. Moreover, presenting the plurality of time slots basedon predicted booking limits may, in some embodiments, includedetermining, for each time slot, whether the predicted booking limit ofthe time slot is equal to or greater than a current number of bookingsfor the time slot, wherein the time slots presented comprise those forwhich the predicted booking limit is less than the current number ofbookings.

In one embodiment, the presentation of time slots to the consumer isfurther based on a membership status of the consumer. For instance, thepresented time slots may include additional time slots in an instance inwhich the consumer is identified as a preferred member. In anotherembodiment, the one or more time slots presented may include preferredtime slots. In one such embodiment, the preferred time slots may bechosen based on preferences of the merchant or the promotion andmarketing service. For example, if a restaurant offers a promotion usinga promotion and marketing service, the restaurant may prefer thatpromotional consumers redeem promotions at traditionally off-peak times,such as between 2 and 4 pm. In another example, the promotion andmarketing service may prefer that promotional consumers redeempromotions in time slots having the highest predicted booking limit, toavoid potential collisions, or may prefer that promotional consumersredeem promotions in time slots having highest associated commission, tomaximize revenue.

In yet another embodiment, the apparatus 200 includes means, such asbooking optimization module 210, or the like, for calculating thepredicted booking limits of the set of time slots, such as in the mannerdescribed with reference to FIG. 17 below.

In operation 1408, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for receiving aselection of multiple time slots from the plurality of time slots.

In operation 1410, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for determiningmerchant time slot availability for the selected time slot. In thisregard, determining merchant time slot availability may includepresenting, to the merchant, each selected time slot, and receiving,from the merchant, an indication of whether the time slot is available.In one embodiment, however, determining merchant time slot availabilitymay include accessing a merchant's scheduling system, or the like, toautomatically download time slot availability information.

In another embodiment, determining merchant time slot availability maybe based on the rank-ordering of the selected time slots. In thisembodiment, the apparatus 300 may include means, such as user interface306, communications module 308, or the like, for receiving, from theconsumer, a rank-ordering of the selected time slots. Thereafter,determining merchant time slot availability may comprise iterativelyanalyzing the selected time slots, starting from a highest rankedselected time slot and proceeding in rank order until an indication ofavailability is received from the merchant. To accomplish this, theapparatus 300 may include means, such as user interface 306,communications module 308, or the like, for presenting, to the merchantoffering the promotion, a selected time slot, and for receiving, fromthe merchant, an indication of whether the time slot is available. Byiteratively stepping through the rank-ordered list of selected timeslots in this fashion, the time slot for redeeming the promotion willcomprise the first (and therefore highest ranked) selected time slot forwhich the indication of availability is received from the merchant.

In an instance in which no selected time slot is available, theapparatus 300 may repeat operations 1406, 1408, and 1410 until aselected time slot is available.

Continuing to operation 1412, the apparatus 300 includes means, such asuser interface 306, communications module 308, or the like, forscheduling a time slot for redeeming the promotion based on thedetermined merchant time slot availability.

Optionally, in operation 1414, the apparatus 300 may include means, suchas user interface 306, communications module 308, or the like, forissuing, to the consumer, a voucher for redeeming the promotion at thescheduled time slot.

Finally, in operation 1416, the apparatus 300 may optionally includemeans, such as user interface 306, communications module 308, or thelike, for charging the consumer for the promotion in response to issuingthe voucher.

Turning now to FIG. 15, a consumer interface 1500 is illustrated usingwhich a consumer may select a time window within which the consumerwishes to schedule redemption. Unlike the embodiments describedpreviously in connection with FIG. 11 through FIG. 14, the consumer neednot select time slots using consumer interface 1500. Rather, theconsumer may select the relevant promotion using field 1502, andsubsequently choose a much broader time range within which redemptionwould be convenient. For instance, the consumer may wish to have his/herrunning gait analysis performed on Sunday, Jun. 30, 2013, but has notime preference. In this example, as shown in FIG. 15, the consumer mayenter the desired date of redemption in date field 1504, and may enter atime window within which redemption is convenient, using time fields1506 and 1508. Finally, the user may select the “Send” icon 1510 todeliver the message to the promotional system 102.

Turning now to FIG. 16, a flowchart is illustrated containing exampleoperations for scheduling time slots for redemption based on aconsumer-selected time window, as shown from the perspective of aconsumer interface with which consumers may interact. The operationsillustrated in FIG. 16 may, for example, be performed by a consumerdevice 114, such as apparatus 300, and may use processor 302, memory304, user interface 306, and communications module 308. The operationsmay further be performed with the assistance of, and/or under thecontrol of promotional server 104, such as, in one embodiment, apparatus200, and may use processor 202, memory 204, I/O module 206,communications module 208, booking optimization module 210, and timeslot management module 212.

In operation 1602, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for presentingone or more promotions for products or services offered by one or moremerchants. As described in connection with FIG. 10, promotions may bepresented in an electronic communication, such as an email or a webpage.In response, in operation 1604, the apparatus 300 includes means, suchas user interface 306, communications module 308, or the like, forreceiving an indication of a selection, by a consumer, of a promotionfrom the one or more promotions.

In operation 1606, the apparatus 300 includes means, such as userinterface 306, communications module 308, or the like, for receiving,from the consumer, a time window within which the consumer seeks toredeem the promotion. Consumer selection and transmission of such a timewindow is described above in connection with FIG. 15.

In operation 1608, the apparatus 300 includes means, such as processor302, or the like, for scheduling a time slot for redeeming the promotionbased on the time window. This operation may, in some embodiments, befacilitated by time management module 212. In this regard, scheduling atime slot for redeeming the promotion based on the time window includesidentifying a set of time slots within the time window, determiningmerchant time slot availability for the set of time slots, andscheduling the time slot for redeeming the promotion based on themerchant time slot availability. In this regard, determining merchanttime slot availability may include presenting, to the merchant, eachselected time slot, and receiving, from the merchant, an indication ofwhether the time slot is available. In one embodiment, however,determining merchant time slot availability may include accessing amerchant's scheduling system, or the like, to automatically downloadtime slot availability information.

In one embodiment, the presentation of time slots to the consumer isfurther based on a membership status of the consumer. For instance, thepresented time slots may include additional time slots in an instance inwhich the consumer is identified as a preferred member. In anotherembodiment, the one or more time slots presented may include preferredtime slots. In one such embodiment, the preferred time slots may bechosen based on preferences of the merchant or the promotion andmarketing service. For example, if a restaurant offers a promotion usinga promotion and marketing service, the restaurant may prefer thatpromotional consumers redeem promotions at traditionally off-peak times,such as between 2 and 4 pm. In another example, the promotion andmarketing service may prefer that promotional consumers redeempromotions in time slots having highest associated commission, tomaximize revenue.

In an instance in which no selected time slot is available, theapparatus 300 may present to the consumer a request for an alternativetime window, return to operation 1606 to receive a subsequent timewindow from the consumer, and then schedule the time slot for redeemingthe promotion based on the second time window.

Optionally, in operation 1610, the apparatus 300 may include means, suchas user interface 306, communications module 308, or the like, forissuing, to the consumer, a voucher for redeeming the promotion at thescheduled time slot.

Finally, in operation 1612, the apparatus 300 may optionally includemeans, such as user interface 306, communications module 308, or thelike, for charging the consumer for the promotion in response to issuingthe voucher.

Accordingly, as disclosed in conjunction with FIGS. 10-16, embodimentsof the present invention describe operations by which a promotion andmarketing service may interact with a consumer to schedule a time slotin which to redeem a promotion.

Predicting Booking Limits

As described above, embodiments of the present invention are disclosedfor associating time slots with a promotion and for scheduling timeslots for redemption of the promotion based on merchant availability. Inthis regard, predicting booking limits for a series of time slots for apromotion enables the promotional system 102 to present information toconsumers and merchants to avoid collisions in promotion redemptionscheduling and accordingly improve customer experience.

In this regard, to predict optimal booking limits, one must efficientlysolve the problem of guessing the availability of a given merchant for atime slot for a promotion. To accomplish this goal, the promotionalsystem 102 is configured to model the demand curve for a slot s_(i)∈S,where S is a representation set of time slot availabilities for a givenweek. Each slot s_(i) can be assumed to have a probability of beingavailable equal to ρ_(i), where ρ_(i) represents the following densityfunction:

ρ_(i)=½Pr(Available)_(i)+½(1−Pr(Busy)_(i))

which in this case represents the normalized probabilities encounteredfor a given service from the historical data taken from historicaldatabase 110 after cleaning data and removing outliers (e.g., for agiven slot ρ equal to the normalization of the average betweenE(available) and E(1−busy) for that given time slot). Assuming that eachuser who books a product or service has an independent probability ofbooking at a given time, then, for example, this hidden demanddistributes like Binomial(C_(i), ρ_(j)), where C_(i) is the capacity ofthat merchant on slot s_(i), and may be estimated using historical data,querying the merchant, or a combination of the two. This demand curverepresents the hidden demand that typically cannot be seen by apromotion and marketing service (which often does not have access tomerchants' complete availability history). For the purposes of thisdescription, the demand for slot i is herein referred to as h, and thecumulative density function of this demand is herein referred to as G(h)and can be approximated by an empirical cumulative density functionproduced using historical information.

Accordingly, for a given demand d_(i) that distributes like, in someexamples, Poisson(λ) for a given λ (Cumulative Density Function F(h)),for a merchant who is providing a given specific service at a price p,there is an associated penalty or cost for the merchant and for thepromotion and marketing service of providing a bad customer experience(by having to tell the customer that his/her slot was previously takenand that he/she either has to book the second one supplied or chooseanother. That penalty cost is herein referred to as D, where, in someexamples, D>p.

Given these facts, the revenue for slot i (which represents a time slotas described herein) comprises:

Revenue=R _(i) =p×s _(i) −D×max(0,s _(i) +h _(i) −C _(i))

where s_(i)=min(d_(i),b_(i)) and where b_(i) is the optimal bookinglimit (e.g., maximum number of bookings a promotion and marketingservice will schedule on a given slot i). As such, the booking limit bis accordingly configured to be determined by the booking availabilityengine.

In this regard, the calculations described herein operated under thefollowing assumptions in some examples, but should not necessarily belimited to these assumptions in each case:

I. There are no no-shows and no cancelations;II. The price is the same for every slot;III. h and d are independent; andIV. Time slots are fixed.

To solve for the booking limit, the booking availability engine maydetermine the result of increasing the booking limit by one, or, inother words, going from b→b+1. The resulting expected revenue would fallinto one of three scenarios, in some examples:

Scenario a) d≤b+1, in which case there is no change in the differentialE(R|b+1)−E(R|b) given that, because this constraint is relaxed,increasing booking will not bring additional demand.

Scenario b) d>b+1, in which case demand will create an additional unitvalued at p. In some examples, there are two possible results from thisscenario:

-   -   Scenario b.1) b+h−C>0, in which the increase in p will be        reduced by the penalty D. This is: p−D.    -   Scenario b.2) b+h−C≤0, in which there is no penalty paid and the        promotion will make an extra p.

Calculating the difference in expected values would yield, in someexamples:

E(R|b+1)−E(R|b)=0×F(b)+(1−F(b))×[(p−D)×(1−G(C−b))+p×G(C−b)]

Given F(b) is always positive, the optimum value of the booking limitwill be found, in some examples, when:

p−D+DG(C−b)≥0

1−p/D≥G(C−b)

where D is estimated based on historical data. In some examples, D maybe equivalent to 2p. In some other examples, an appropriate penalty Dmay be determined using merchant and customer surveys. Alternatively,the penalty D may be determined automatically based on historical dataregarding previously offered promotions (e.g., the penalty D may be setto the penalty of a successful previously offered promotion, the averageof penalties of a set of previously offered promotions, or the like).

Accordingly, one example algorithm can be used, in some exampleembodiments, to calculate the booking limit:

Step 1: Initialize b=C

Step 2: If 1−p/D≤G(C−b), STOP. Optimum has been reached.

Step 3: If 1−p/D>G(C−b), increase b→b+1 GOTO STEP 2

In an additional embodiment of the present invention, an algorithm forcalculating a predicted booking limit may incorporate reinforcementlearning. For instance, by simplifying the problem, a consumer may bedefined as having two states:

NOT BOOKED (if the consumer has not chosen a slot or has been rejected atime slot previously); and

BOOKED (the consumer has a confirmed time slot).

In some examples, therefore, there is only one available action, whichis to book the customer (i.e., BOOK). Accordingly, after selection ofthe action (e.g., to book the customer) there are two possible outcomes:

1: User selects a slot successfully (transition from NOT BOOKED toBOOKED) Update rewards as: r=0

2: User selects a slot and is rejected (transition from NOT BOOKED toNOT BOOKED) Update rewards as r=−1

The following algorithm will, in some examples, be usable to update p:

Step 1: b=b+r

Step 2: Update ρ*=arg(G(C−b)=0)

Step 3: ρ=ρ+α(ρ*−ρ), where a is a step function.

In some examples, one algorithm that may be configured to displayavailabilities to the user, such as is shown, for example, in FIGS. 11and 13 and described in conjunction with operations 1206 and 1406 above,may be based on an ε-greedy form using a SOFTMAX activation functionbased on a Boltzmann distribution to calculate the probabilities ofchoosing random bookings in the case, according to some examples:

Step 1: For every different slot time, an initial value of p can bedeveloped based on Monte Carlo simulations and Heuristic Knowledge. Inthis regard, one can assume that the process is a Markovian DiscreteProcess.

Step 2: When customers retrieve availabilities, z is set withprobability E.

Step 3: If z≤1−ε, the presented or otherwise displayed time slotsinclude all bookings where b_(j)>0 for every slot time j (from the slottimes the user selected).

Step 4: Else, for each time slot j (from the slot times the userselected), choose b_(j) to display based on, in some examples,probability

$\frac{e^{\frac{b_{j}}{\tau}}}{\sum_{k = 1}^{N}e^{\frac{b_{k}}{\tau}}}$

where N is the number of slots for the selected (by the consumer)window, and r is a measure of temperature. High temperatures cause, insome examples, the actions to be all (nearly) equally probable. Lowtemperatures cause a greater difference in selection probability foractions that differ in their value estimates. In examples, the bookingoptimization module 210 described herein may choose a low temperature,given selecting a slot with low estimated booking limit could be morepernicious than selecting one with high estimated booking limit.

Turning now to FIG. 17, a flowchart is illustrated for calculatingbooking limits of a set of time slots. The operations illustrated inFIG. 17 may, for example, be performed by the promotional server 104,such as, in one example embodiment, apparatus 200, and may use processor202, memory 204, I/O module 206, communications module 208, bookingoptimization module 210, and time slot management module 212.

In operation 1702, the apparatus 200 includes means, such as processor202, booking optimization module 210, time slot management module 212,or the like, for calculating a hidden demand for a time slot for apromotion. In some embodiments, the hidden demand for each of the set ofproposed time slots may be calculated based on data from bookingsdatabase 108 or historical database 110.

In operation 1704, the apparatus 200 includes means, such as processor202, booking optimization module 210, or the like, for determining anoptimal booking limit for the time slot based on the calculated hiddendemand. In this regard, the optimal booking limit for a time slot isfurther based on a booking capacity of the time slot and may beoptimized in the manner described above.

In operation 1706, the apparatus 200 includes means, such as processor202, booking optimization module 210, or the like, for setting a valueof the predicted booking limit to the value of the optimal bookinglimit.

Finally, in operation 1708, the apparatus 200 includes means, such asmemory 204, or the like, for storing the predicted booking limit (e.g.,in bookings database 108).

Turning now to FIG. 18, a flowchart is illustrated for displayingavailable time slots to a consumer. The operations illustrated in FIG.18 may, for example, be performed by a consumer device 114, such asapparatus 300, and may use processor 302, memory 304, user interface306, and communications module 308. The operations may further beperformed with the assistance of, and/or under the control ofpromotional server 104, such as, in one embodiment, apparatus 200, andmay use processor 202, memory 204, I/O module 206, communications module208, booking optimization module 210, and time slot management module212.

In operation 1802, the apparatus 300 may include means, such asprocessor 302, or the like, for calculating hidden demand for one ormore time slots, the one or more time slots defining a time durationduring which a performance of a service offered by a promotion andmarketing service can be performed, the one or more time slotsidentified in response to a selection of a particular promotion. In someembodiments, the hidden demand for each of the set of proposed timeslots may be calculated based on data from bookings database 108 orhistorical database 110.

In operation 1804, the apparatus 300 may include means, such asprocessor 302, or the like, for determining a booking limit for eachtime slot of the one or more time slots based on the calculated demandfor the time slot and a determined capacity for the time slot.

In operation 1806, the apparatus 300 may include means, such asprocessor 302, or the like, for determining that one or more of the timeslots comprise available time slots based on a comparison of the bookinglimits for the one or more time slots to a number of bookings for eachof the time slots.

In operation 1808, the apparatus 300 may include means, such as userinterface 306, communications module 308, or the like, for displayingthe one or more available time slots in conjunction with the particularpromotion. Optionally, in operation 1810, the apparatus 200 may includemeans, such as user interface 306, communications module 308, or thelike, for receiving a request for a requested time slot of the one ormore available time slots in conjunction with the particular promotion.

Finally, in operation 1812, the apparatus 200 may optionally includemeans, such as processor 302, or the like, for determining whether therequested time slot is available.

Turning now to FIG. 19, a flowchart is illustrated for displayingavailable time slots to a consumer. The operations illustrated in FIG.19 may, for example, be performed by a consumer device 114, such asapparatus 300, and may use processor 302, memory 304, user interface306, and communications module 308. The operations may further beperformed with the assistance of, and/or under the control ofpromotional server 104, such as, in one embodiment, apparatus 200, andmay use processor 202, memory 204, I/O module 206, communications module208, booking optimization module 210, and time slot management module212.

In operation 1902, the apparatus 300 may include means, such asprocessor 302, or the like, for generating a time slot availabilityprofile for each of the one or more available time slots. In someembodiments, the time slot availability probability may be set using anepsilon greedy policy, a SOFTMAX activation function, or a Monte Carlosimulation and historical data.

In operation 1904, the apparatus 300 may include means, such asprocessor 302, or the like, for, in an instance in which a distributionprobability, generated from the time slot probability, is less than orequal to the compliment of an epsilon probability, displaying a subsetof the one or more available time slots having booking limits greaterthan zero.

In operation 1906, the apparatus 300 may include means, such asprocessor 302, or the like, for in an instance in which a distributionprobability is greater than an epsilon probability, displaying a randomset of the one or more available time slots.

Turning now to FIG. 20, a flowchart is illustrated for generating thetime slot availability probability for a time slot. The operationsillustrated in FIG. 20 may, for example, be performed by a promotionalserver 104, such as, in one embodiment, apparatus 200, and may useprocessor 202, memory 204, I/O module 206, communications module 208,booking optimization module 210, and time slot management module 212.

In operation 2002, the apparatus 200 may include means, such asprocessor 202, booking optimization module 210, or the like, for causingthe optimal booking limit for the time slot to be modified by a rewardsvalue, wherein the rewards value is based on a number of times a userhas requested and successfully been assigned the time slot.

In operation 2004, the apparatus 300 may include means, such asprocessor 202, booking optimization module 210, or the like, for settinga learned time slot availability probability for the time slot as afactor of the predicted booking limit for the time slot.

In operation 2006, the apparatus 200 may include means, such asprocessor 202, booking optimization module 210, or the like, for settingthe time slot availability probability for the time slot as a functionof the learned time slot probability for the time slot. In oneembodiment, setting the time slot availability probability is furtherbased on a step function.

Turning now to FIG. 21, a flowchart is illustrated for generating thetime slot availability probability for a time slot. The operationsillustrated in FIG. 20 may, for example, be performed by a promotionalserver 104, such as, in one embodiment, apparatus 200, and may useprocessor 202, memory 204, I/O module 206, communications module 208,booking optimization module 210, and time slot management module 212.

In operation 2102, the apparatus 200 may include means, such asprocessor 202, booking optimization module 210, or the like, for causingan initial booking limit to be set to the determined capacity for thetime slot.

In operation 2104, the apparatus 300 may include means, such asprocessor 202, booking optimization module 210, or the like, forincreasing the initial booking limit for the time slot in an instance inwhich a complement of a ratio of a slot revenue value to a slot penaltyvalue exceeds the hidden demand for the time slot. In this regard, theslot penalty value may be generated based on a length of time duringwhich a user does not purchase a promotion using the promotion andmarketing service after a requested time slot is determined to beunavailable. Alternatively, the slot penalty value may be set by thepromotion and marketing service and provided to a user who requests atime slot that is determined to be unavailable.

In operation 2106, the apparatus 200 may include means, such asprocessor 202, booking optimization module 210, or the like, for settingthe optimal booking limit equal to the initial booking limit in aninstance in which a complement of a ratio of a slot revenue value to aslot penalty value does not exceed the hidden demand for the time slot.

Accordingly, as disclosed in conjunction with FIGS. 17-21, embodimentsof the present invention illustrate operations using which a promotionand marketing service may predict hidden demand for a product or serviceand predicts an optimal booking limit that minimizes a probability of ascheduling collision. Moreover, embodiments of the present inventioninclude reinforcement learning operations that ensure accuracy of suchpredictions over time.

As will be appreciated, computer program code and/or other instructionsmay be loaded onto a computer, processor or other programmableapparatus's circuitry to produce a machine, such that execution of thecode on the machine by the computer, processor, or other circuitrycreates the means for implementing various functions, including thosedescribed herein.

As described above and as will be appreciated based on this disclosure,embodiments of the present invention may be configured as methods,mobile devices, backend network devices, and the like. Accordingly,embodiments may comprise various means including entirely of hardware ora combination of software and hardware. Furthermore, embodiments maytake the form of a computer program product on at least onecomputer-readable storage medium having computer-readable programinstructions (e.g., computer software) embodied in the storage medium.Any suitable computer-readable storage medium may be utilized, includingnon-transitory hard disks, CD-ROMs, flash memory, optical storagedevices, magnetic storage devices, or the like.

Embodiments of the present invention have been described above withreference to block diagrams and flowchart illustrations of methods,apparatuses, systems and computer program products. It will beunderstood that each block of the circuit diagrams and processflowcharts, and combinations of blocks in the circuit diagrams andprocess flowcharts, respectively, can be implemented by various meansincluding computer program instructions. These computer programinstructions may be loaded onto a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the computer program product includes theinstructions which execute on the computer or other programmable dataprocessing apparatus create a means for implementing the functionsspecified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable storage device that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablestorage device produce an article of manufacture includingcomputer-readable instructions for implementing the function discussedherein. The computer program instructions may also be loaded onto acomputer or other programmable data processing apparatus to cause aseries of operational steps to be performed on the computer or otherprogrammable apparatus, thereby producing a computer-implemented processsuch that the instructions executed on the computer or otherprogrammable apparatus cause performance of the steps and therebyimplement the functions discussed herein.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the circuit diagrams and processflowcharts, and combinations of blocks in the circuit diagrams andprocess flowcharts, can be implemented by special purpose hardware-basedcomputer systems that perform the specified functions or steps, orcombinations of special purpose hardware and computer instructions.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseembodiments of the invention pertain having the benefit of the teachingspresented in the foregoing descriptions and the associated drawings.Therefore, it is to be understood that the embodiments of the inventionare not to be limited to the specific embodiments disclosed and thatmodifications and other embodiments are intended to be included withinthe scope of the appended claims. Although specific terms are employedherein, they are used in a generic and descriptive sense only and notfor purposes of limitation.

1. (canceled)
 2. A computer-implemented method comprising: receiving, bya communications module of a promotional server of a promotion andmarketing service, a consumer selection of a selected promotion for aproducts or service offered by a merchant; querying, by the promotionalserver, a promotion database to identify one or more time slots at whichthe selected promotion is offered by the merchant; determining, by abooking optimization module of the promotional server, an optimalpredicted booking limit for each of the one or more time slots based atleast in part on a hidden demand for each time slot, wherein determiningthe optimal predicted booking limit for each time slot in the set oftime slots comprises increasing, by the booking optimization module ofthe promotional server, an initial booking limit for the time slot in aninstance in which a complement of a ratio of a slot revenue value to aslot penalty value exceeds the hidden demand for the time slot, whereinthe slot penalty value represents a cost associated with scheduling anunavailable time slot from the one or more time slots for redeeming thepromotion; based at least in part on the optimal predicted booking limitfor at least a portion of the one or more time slots, identifying, by atime slot management module of the promotional server, the at least aportion of the one or more time slots as predicted available time slots;generating, by the communications module of the promotion server, aconsumer scheduling interface comprising one or more selectable scheduleindicators corresponding at least in part to the one or more predictedavailable time slots, wherein generating the consumer schedulinginterface comprises causing the consumer scheduling interface to bepresented at the consumer device; receiving, by the communicationsmodule of the promotional server and via the consumer promotioninterface, consumer input data comprising an indication of one or moreof the predicted available time slots at which the consumer seeks toredeem the promotion; determining, by the booking optimization module ofthe promotional server, a merchant time slot availability for at least aportion of the one or more predicted available time slots correspondingto the consumer input data based at least in part on the optimalpredicted booking limit for the one or more predicted available timeslots; and scheduling, by the time slot management module of thepromotional server, a redemption time slot for redeeming the promotionbased on the merchant time slot availability.
 3. The method of claim 2,wherein the optimal predicted booking limit for each of the one or moretime slots comprises a prediction of a maximum number of bookings thatmay be scheduled by the promotion and marketing service for a time slotfor a promotion, and wherein the hidden demand for each of the one ormore time slots comprises a prediction of an unknown reserved number ofexternal bookings for the respective time slot that have been placedfrom sources outside the promotion and marketing service.
 4. The methodof claim 2, wherein the one or more selectable schedule indicators ofthe consumer scheduling interface comprise one or more selectable timeslots corresponding to one or more of the predicted available timeslots, and wherein the consumer input data comprises a selection of aselected time slot for which the consumer seeks to redeem the promotion.5. The method of claim 4, the one or more selectable schedule indicatorsof the consumer scheduling interface comprise a plurality of rankingfields corresponding to the one or more predicted available time slots,wherein the consumer input data further comprises a plurality time slotrankings received via the plurality of ranking fields of the consumerscheduling interface, the plurality time slot rankings being indicativeof relative consumer preference associated with one or more of thepredicted available time slots.
 6. The method of claim 2, wherein theconsumer scheduling interface comprises a calendar wherein the one ormore selectable schedule indicators comprise selectable contiguousdates, wherein the calendar is responsive to consumer input via theconsumer device, wherein the consumer input data comprises a time windowwithin which a consumer seeks to redeem the promotion, and whereindetermining the merchant time slot availability for the at least aportion of the one or more predicted available time slots correspondingto the consumer input data comprises determining the merchant time slotavailability for a set of time slots within the time window.
 7. Themethod of claim 2, further comprising issuing, to the consumer device, avoucher for redeeming the promotion at the redemption time slot.
 8. Themethod of claim 7, further comprising initiating an electronic fundstransfer for the promotion in response to issuing the voucher.
 9. Themethod of claim 2, wherein, in an instance in which none of the one ormore predicted available time slots corresponding to the consumer inputdata are available, identifying the predicted available time slotscomprises: generating, by the communications module of the promotionalserver for display at the consumer device, an alternative schedulinginterface comprising one or more selectable schedule indicatorscorresponding at least in part to one or more alternative time slots ofthe predicted available time slots, wherein generating the alternativescheduling interface comprises causing the alternative schedulinginterface to be presented at the consumer device; receiving, by thecommunications module of the promotional server and via the consumerpromotion interface, second consumer input data comprising an indicationof one or more of the alternative time slots at which the consumer seeksto redeem the promotion.
 10. An apparatus comprising: a processor; and amemory storing instructions that, when executed by the processor, causethe apparatus to: receive, by a communications module of a promotionalserver of a promotion and marketing service, a consumer selection of aselected promotion for a products or service offered by a merchant;query, by the promotional server, a promotion database to identify oneor more time slots at which the selected promotion is offered by themerchant; determine, by a booking optimization module of the promotionalserver, an optimal predicted booking limit for each of the one or moretime slots based at least in part on a hidden demand for each time slot,wherein determining the optimal predicted booking limit for each timeslot in the set of time slots comprises increasing, by the bookingoptimization module of the promotional server, an initial booking limitfor the time slot in an instance in which a complement of a ratio of aslot revenue value to a slot penalty value exceeds the hidden demand forthe time slot, wherein the slot penalty value represents a costassociated with scheduling an unavailable time slot from the one or moretime slots for redeeming the promotion; based at least in part on theoptimal predicted booking limit for at least a portion of the one ormore time slots, identifying, by a time slot management module of thepromotional server, the at least a portion of the one or more time slotsas predicted available time slots; generate, by the communicationsmodule of the promotion server, a consumer scheduling interfacecomprising one or more selectable schedule indicators corresponding atleast in part to the one or more predicted available time slots, whereingenerating the consumer scheduling interface comprises causing theconsumer scheduling interface to be presented at the consumer device;receive, by the communications module of the promotional server and viathe consumer promotion interface, consumer input data comprising anindication of one or more of the predicted available time slots at whichthe consumer seeks to redeem the promotion; determine, by the bookingoptimization module of the promotional server, a merchant time slotavailability for at least a portion of the one or more predictedavailable time slots corresponding to the consumer input data based atleast in part on the optimal predicted booking limit for the one or morepredicted available time slots; and schedule, by the time slotmanagement module of the promotional server, a redemption time slot forredeeming the promotion based on the merchant time slot availability.11. The apparatus of claim 10, wherein the optimal predicted bookinglimit for each of the one or more time slots comprises a prediction of amaximum number of bookings that may be scheduled by the promotion andmarketing service for a time slot for a promotion, and wherein thehidden demand for each of the one or more time slots comprises aprediction of an unknown reserved number of external bookings for therespective time slot that have been placed from sources outside thepromotion and marketing service.
 12. The apparatus of claim 10, whereinthe one or more selectable schedule indicators of the consumerscheduling interface comprise one or more selectable time slotscorresponding to one or more of the predicted available time slots, andwherein the consumer input data comprises a selection of a selected timeslot for which the consumer seeks to redeem the promotion.
 13. Theapparatus of claim 12, the one or more selectable schedule indicators ofthe consumer scheduling interface comprise a plurality of ranking fieldscorresponding to the one or more predicted available time slots, whereinthe consumer input data further comprises a plurality time slot rankingsreceived via the plurality of ranking fields of the consumer schedulinginterface, the plurality time slot rankings being indicative of relativeconsumer preference associated with one or more of the predictedavailable time slots.
 14. The apparatus of claim 10, wherein theconsumer scheduling interface comprises a calendar wherein the one ormore selectable schedule indicators comprise selectable contiguousdates, wherein the calendar is responsive to consumer input via theconsumer device, wherein the consumer input data comprises a time windowwithin which a consumer seeks to redeem the promotion, and whereindetermining the merchant time slot availability for the at least aportion of the one or more predicted available time slots correspondingto the consumer input data comprises determining the merchant time slotavailability for a set of time slots within the time window.
 15. Theapparatus of claim 10, wherein the instructions, when executed by theprocessor, further cause the apparatus to issue, to the consumer device,a voucher for redeeming the promotion at the redemption time slot. 16.The apparatus of claim 15, wherein the instructions, when executed bythe processor, further cause the apparatus to initiate an electronicfunds transfer for the promotion in response to issuing the voucher. 17.The apparatus of claim 10, wherein, in an instance in which none of theone or more predicted available time slots corresponding to the consumerinput data are available, the instructions, when executed by theprocessor, cause the apparatus to identify the predicted available timeslots by further causing the apparatus to: generate, by thecommunications module of the promotional server for display at theconsumer device, an alternative scheduling interface comprising one ormore selectable schedule indicators corresponding at least in part toone or more alternative time slots of the predicted available timeslots, wherein generating the alternative scheduling interface comprisescausing the alternative scheduling interface to be presented at theconsumer device; receive, by the communications module of thepromotional server and via the consumer promotion interface, secondconsumer input data comprising an indication of one or more of thealternative time slots at which the consumer seeks to redeem thepromotion.
 18. A computer program product comprising a non-transitorycomputer-readable storage medium storing computer program code that,when executed by a processor of an apparatus, cause the apparatus to:receive, by a communications module of a promotional server of apromotion and marketing service, a consumer selection of a selectedpromotion for a products or service offered by a merchant; query, by thepromotional server, a promotion database to identify one or more timeslots at which the selected promotion is offered by the merchant;determine, by a booking optimization module of the promotional server,an optimal predicted booking limit for each of the one or more timeslots based at least in part on a hidden demand for each time slot,wherein determining the optimal predicted booking limit for each timeslot in the set of time slots comprises increasing, by the bookingoptimization module of the promotional server, an initial booking limitfor the time slot in an instance in which a complement of a ratio of aslot revenue value to a slot penalty value exceeds the hidden demand forthe time slot, wherein the slot penalty value represents a costassociated with scheduling an unavailable time slot from the one or moretime slots for redeeming the promotion; based at least in part on theoptimal predicted booking limit for at least a portion of the one ormore time slots, identifying, by a time slot management module of thepromotional server, the at least a portion of the one or more time slotsas predicted available time slots; generate, by the communicationsmodule of the promotion server, a consumer scheduling interfacecomprising one or more selectable schedule indicators corresponding atleast in part to the one or more predicted available time slots, whereingenerating the consumer scheduling interface comprises causing theconsumer scheduling interface to be presented at the consumer device;receive, by the communications module of the promotional server and viathe consumer promotion interface, consumer input data comprising anindication of one or more of the predicted available time slots at whichthe consumer seeks to redeem the promotion; determine, by the bookingoptimization module of the promotional server, a merchant time slotavailability for at least a portion of the one or more predictedavailable time slots corresponding to the consumer input data based atleast in part on the optimal predicted booking limit for the one or morepredicted available time slots; and schedule, by the time slotmanagement module of the promotional server, a redemption time slot forredeeming the promotion based on the merchant time slot availability.19. The computer program product of claim 18, wherein the optimalpredicted booking limit for each of the one or more time slots comprisesa prediction of a maximum number of bookings that may be scheduled bythe promotion and marketing service for a time slot for a promotion, andwherein the hidden demand for each of the one or more time slotscomprises a prediction of an unknown reserved number of externalbookings for the respective time slot that have been placed from sourcesoutside the promotion and marketing service.
 20. The computer programproduct of claim 18, wherein the one or more selectable scheduleindicators of the consumer scheduling interface comprise one or moreselectable time slots corresponding to one or more of the predictedavailable time slots, and wherein the consumer input data comprises aselection of a selected time slot for which the consumer seeks to redeemthe promotion.
 21. The computer program product of claim 20, the one ormore selectable schedule indicators of the consumer scheduling interfacecomprise a plurality of ranking fields corresponding to the one or morepredicted available time slots, wherein the consumer input data furthercomprises a plurality time slot rankings received via the plurality ofranking fields of the consumer scheduling interface, the plurality timeslot rankings being indicative of relative consumer preferenceassociated with one or more of the predicted available time slots. 22.The computer program product of claim 18, wherein the consumerscheduling interface comprises a calendar wherein the one or moreselectable schedule indicators comprise selectable contiguous dates,wherein the calendar is responsive to consumer input via the consumerdevice, wherein the consumer input data comprises a time window withinwhich a consumer seeks to redeem the promotion, and wherein determiningthe merchant time slot availability for the at least a portion of theone or more predicted available time slots corresponding to the consumerinput data comprises determining the merchant time slot availability fora set of time slots within the time window.